Managing Transmitter Collisions

ABSTRACT

Various embodiments implemented on a mobile communication device (e.g., a multi-SIM-multi-active communication device) mitigate degraded transmit performance typically experienced by a lower-priority subscription during a Tx collision event in which a higher-priority subscription receives a shared Tx resource of the mobile communication device to the exclusion of the lower-priority subscription. Specifically, in various embodiments, a processor of the mobile communication device may determine when an upcoming transmission of the lower-priority subscription will collide with a scheduled transmission of the higher-priority subscription (i.e., may determine when a Tx collision event will occur between the subscriptions) and may implement one or more Tx collision management strategies in response to determining that the lower-priority subscription&#39;s upcoming transmission will collide with a transmission of the higher-priority subscription, thus improving the lower-priority subscription&#39;s overall performance.

RELATED APPLICATIONS

This application claims the benefit of priority to U.S. ProvisionalPatent Application No. 62/036,901 entitled “LTE Transmitter Sharing andLoss Mitigation” filed Aug. 13, 2014, the entire contents of which areincorporated herein by reference.

BACKGROUND

Some new designs of mobile communication devices—such as smart phones,tablet computers, and laptop computers—contain two or more SubscriberIdentity Module (“SIM”) cards that provide users with access to multipleseparate mobile telephony networks. Examples of mobile telephonynetworks include Third Generation (3G), Fourth Generation (4G), LongTerm Evolution (LTE), Time Division Multiple Access (TDMA), FrequencyDivision Multiple Access (FDMA), Code Division Multiple Access (CDMA),Wideband CDMA (WCDMA), Global System for Mobile Communications (GSM),and Universal Mobile Telecommunications Systems (UMTS). Examplemulti-SIM mobile communication devices include mobile phones, laptopcomputers, smart phones, and other mobile communication devices that areconfigured to connect to multiple mobile telephony networks. A mobilecommunication device that includes a plurality of SIMs and connects totwo or more separate mobile telephony networks using two or moreseparate radio-frequency (“RF”) transceivers is termed a“multi-SIM-multi-active” or “MSMA” communication device. An example MSMAcommunication device is a “dual-SIM-dual-active” or “DSDA” communicationdevice, which includes two SIM cards/subscriptions associated with twomobile telephony networks.

Because a multi-SIM-multi-active communication device has a plurality ofseparate RF communication circuits or “RF resources,” each subscriptionon the multi-SIM-multi-active communication device may use an associatedRF resource to communicate with the subscription's mobile network at anytime. However, in some circumstances, the multi-SIM-multi-activecommunication device may operate in a transmit-sharing (“Tx-sharing”)mode in which two (or more) subscriptions share a single transmit (“Tx”)resource (e.g., a transmitter or transceiver). While operating in aTx-sharing mode, a first subscription (e.g., an LTE subscription) and asecond subscription (e.g., a GSM subscription) cannot simultaneouslyutilize the shared Tx resource. As a result, the first subscriptionand/or the second subscription typically experience degraded transmitperformance in situations in which both subscriptions need to use the Txresource at the same time, such as when both subscriptions are engagedin a data or voice call.

SUMMARY

The various embodiments include methods and mobile communication devicesimplementing methods for managing potential transmitter collisions of afirst subscription. The various methods may include generating anartificially increased buffer-size report (BSR), reporting the BSR to anetwork of the first subscription, receiving from the network of thefirst subscription a plurality of uplink grants based on theartificially increased BSR, determining whether an upcoming transmissionof the first subscription will collide with a transmission of a secondsubscription, and implementing a transmit (Tx) collision managementstrategy for the first subscription in response to determining that theupcoming transmission of the first subscription will collide with thetransmission of the second subscription. In various embodiments thefirst subscription and the second subscription may be subscriptions todifferent radio access technologies.

In some embodiments determining whether the upcoming transmission of thefirst subscription will collide with the transmission of the secondsubscription may include determining times at which a plurality ofpacket transmissions are scheduled to occur based on the receivedplurality of uplink grants, determining a transmission schedule of thesecond subscription during the determined times, and determining whetherthere is a packet transmission in the plurality of packet transmissionsthat will not collide with transmissions of the second subscriptionbased on the determined transmission schedule of the secondsubscription. In such embodiments implementing the Tx collisionmanagement strategy for the first subscription in response todetermining that the upcoming transmission of the first subscriptionwill collide with the transmissions of the second subscription mayinclude, in response to determining that the packet transmission willnot collide with the transmissions of the second subscription, sending apacket to the network of the first subscription as part of a packettransmission that will not collide with the transmissions of the secondsubscription. In some embodiments implementing the Tx collisionmanagement strategy for the first subscription in response todetermining that the upcoming transmission of the first subscriptionwill collide with the transmissions of the second subscription mayinclude sending a packet to the network of the first subscription aspart of any of the plurality of packet transmissions in response todetermining that there are no packet transmissions that will not collidewith the transmissions of the second subscription.

In some embodiments, generating the artificially increased BSR mayinclude determining an amount of data to be transmitted by the firstsubscription and generating the artificially increased BSR as a multipleof the amount of data to be transmitted by the first subscription. Insuch embodiments, receiving from the network of the first subscriptionthe plurality of uplink grants based on the artificially increased BSRmay include receiving an uplink grant for each multiple of the amount ofdata to be transmitted by the first subscription. In some embodiments,the first subscription may have a lower priority than the secondsubscription. In some embodiments, the first subscription may be engagedin a data call and the second subscription may be engaged in a voicecall.

Various embodiments further include a mobile communication device havinga memory, a radio frequency (RF) resource, and a processor coupled tothe memory and the RF resource and configured with processor executableinstructions to perform operations of the methods described above.Various embodiments include a mobile communication device having meansfor performing functions of the methods described above. Variousembodiments include a non-transitory processor-readable storage mediumhaving stored thereon processor-executable instructions configured tocause a processor of a mobile communication device to perform operationsof the methods described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and constitutepart of this specification, illustrate exemplary embodiments of theclaims, and together with the general description given above and thedetailed description given below, serve to explain the features of theclaims.

FIG. 1 is a communication system block diagram of mobile telephonynetworks suitable for use with various embodiments.

FIG. 2 is a component block diagram of a multi-SIM-multi-activecommunication device according to various embodiments.

FIG. 3 is a component block diagram illustrating components of differenttransmit/receive chains in a multi-SIM-multi-active communication deviceaccording to various embodiments.

FIG. 4 is a process flow diagram illustrating a method for managingpotential transmitter collisions of a first subscription according tovarious embodiments.

FIG. 5 is a timeline diagram illustrating transmission schedules of afirst subscription and a second subscription according to variousembodiments.

FIG. 6 is a process flow diagram illustrating a method for preventing ascheduling-request transmission to a network of a first subscription inresponse to determining that a packet transmission associated with thescheduling-request transmission will collide with a transmission of asecond subscription according to various embodiments.

FIG. 7 is another timeline diagram illustrating transmission schedulesof a first subscription and a second subscription according to variousembodiments.

FIGS. 8A-8B are signaling and call flow diagrams illustratingcommunications exchanged between components of a first subscription'scommunication protocol stack in order to send high-priority messages inpacket transmissions that will not collide with transmissions of thesecond subscription according to various embodiments.

FIGS. 9A-9B are process flow diagrams illustrating a method for sendinghigh-priority messages of the first subscription in packet transmissionsthat will not collide with transmissions of the second subscriptionaccording to various embodiments.

FIG. 10 is a signaling and call flow diagram illustrating communicationsexchanged between components in a first subscription's communicationprotocol in order to initiate a radio link control (RLC) levelretransmission immediately in response to determining that a hybridautomatic repeat request (HARQ) level transmission failure has occurredaccording to various embodiments.

FIG. 11 is a process flow diagram illustrating a method for immediatelyinitiating an RLC-level retransmission in response to determining that aHARQ-level retransmission failure has occurred according to variousembodiments.

FIG. 12 is a signaling and call flow diagram illustrating communicationsexchanged between a mobile communication device and a firstsubscription's network related to reporting an artificially highbuffer-size report to the network according to various embodiments.

FIG. 13 is a process flow diagram illustrating a method for reporting anartificially high buffer-size report to a network of the firstsubscription according to various embodiments.

FIG. 14 is a process flow diagram illustrating a method for classifyingthe priority of messages of the first subscription based on the currentradio conditions of the first subscription according to variousembodiments.

FIG. 15 is a component block diagram of a multi-SIM-multi-activecommunication device suitable for implementing some embodiment methods.

DETAILED DESCRIPTION

Various embodiments will be described in detail with reference to theaccompanying drawings. Wherever possible, the same reference numberswill be used throughout the drawings to refer to the same or like parts.References made to particular examples and implementations are forillustrative purposes, and are not intended to limit the scope of theclaims.

As used herein, the terms “wireless device,” “mobile communicationdevice,” and “multi-SIM-multi-active communication device” are usedinterchangeably and refer to any one or all of cellular telephones,smart phones, personal or mobile multi-media players, personal dataassistants, laptop computers, personal computers, tablet computers,smart books, palm-top computers, wireless electronic mail receivers,multimedia Internet-enabled cellular telephones, wireless gamingcontrollers, and similar personal electronic devices that include aprogrammable processor, memory, and circuitry for connecting to at leasttwo mobile communication networks. The various aspects may be useful inmobile communication devices, such as smart phones, and so such devicesare referred to in the descriptions of various embodiments. However, theembodiments may be useful in any electronic devices, such as a DSDAcommunication device, that may individually maintain a plurality ofsubscriptions that utilize a plurality of separate RF resources and mayoperate in a Tx-sharing mode in which two (or more) subscriptions sharea single Tx resource.

As used herein, the terms “SIM,” “SIM card,” and “SubscriberIdentification Module” are used interchangeably to refer to a memorythat may be an integrated circuit or embedded into a removable card, andthat stores an International Mobile Subscriber Identity (IMSI), relatedkey, and/or other information used to identify and/or authenticate amobile communication device on a network and enable a communicationservice with the network. Because the information stored in a SIMenables the mobile communication device to establish a communicationlink for a particular communication service with a particular network,the term “subscription” is also be used herein as a shorthand referenceto the communication service associated with and enabled by theinformation stored in a particular SIM as the SIM and the communicationnetwork, as well as the services and subscriptions supported by thatnetwork, correlate to one another.

As described, while a mobile communication device is operating in aTx-sharing mode, a first subscription (e.g., a subscription to an LTEnetwork or an “LTE subscription”) and a second subscription (e.g., asubscription to a GSM network or a “GSM subscription”) share a single Txresource. In situations in which both subscriptions are in active states(i.e., handling voice or data calls), the first subscription and thesecond subscription may need to simultaneously utilize the shared Txresource, for example, to service calls. In conventional mobilecommunication devices capable of Tx-sharing mode, a priority scheme istypically used to determine one of the first and the secondsubscriptions that will receive access to the shared Tx resource in theevent that both subscriptions simultaneously require access to theshared Tx resource. For example, a GSM subscription engaged in a voicecall will have priority over an LTE subscription engaged in a data call,and thus, when both subscriptions require access to the shared Txresource (i.e., during a “transmission” or “Tx” collision event), theGSM subscription receives access to the shared Tx resource and the LTEsubscription is denied access to the shared Tx resources. As a result,the lower-priority LTE subscription's transmission during the Txcollision event may be partially or completely lost in favor of thehigher-priority GSM subscription's transmissions, thereby potentiallydegrading the lower-priority subscription's Tx performance.

In overview, various embodiments implemented on a mobile communicationdevice (e.g., a multi-SIM-multi-active communication device) mitigatethe degraded transmit performance typically experienced by alower-priority subscription during a Tx collision event. In variousembodiments, a processor of the mobile communication device maydetermine when an upcoming transmission of the lower-prioritysubscription will collide with a transmission of a higher-prioritysubscription (i.e., may determine when a Tx collision event will occurbetween the subscriptions) and implement one or more Tx collisionmanagement strategies for the lower-priority subscription in response todetermining that the lower-priority subscription's upcoming transmissionwill collide with a transmission of the higher-priority subscription,thus improving the lower-priority subscription's overall performance.

For ease of reference, a lower-priority subscription (e.g., asubscription engaged in a data call) may be referred to herein as a“first subscription,” and a higher-priority subscription (e.g., asubscription engaged in a voice call) may be referred to as a “secondsubscription.” However, because the priorities of subscriptions maychange over time, a first subscription at a first time may be a secondsubscription at a second time, and a second subscription at the firsttime may be a first subscription at some other time. Thus, thesereferences are merely for ease of description and not intended to implyor require a particular subscription to always be either a first orsecond subscription.

In some embodiments, the device processor may manage a potential Txcollision by implementing a Tx collision management strategy for thefirst subscription by rescheduling the first subscription's upcomingscheduling request (“SR”) transmissions in the event that the deviceprocessor determines that packet transmissions associated with theupcoming SR transmissions will collide with a transmission of the secondsubscription.

In some embodiments, the device processor may manage a potential Txcollision by implementing a Tx collision management strategy for thefirst subscription by skipping/ignoring uplink grants received from thenetwork that are associated with packet transmissions that will collidewith a transmission of the second subscription. In such embodiments, thedevice processor may receive other uplink grants associated with otherpacket transmissions and may wait to send high-priority messages as partof a packet transmission that will not collide with a transmission ofthe second subscription.

In some embodiments, the device processor may manage a potential Txcollision by implementing a Tx collision management strategy for thefirst subscription by immediately initiating a radio-link-control-level(RLC-level) retransmission operation in response to determining that oneor more attempts to transmit (or retransmit) a packet have failed at ahybrid-automatic-repeat-request (HARQ) level because of a Tx collisionwith the second subscription's transmissions. In such embodiments, thedevice processor may ignore HARQ-level packettransmissions/retransmissions that have failed due to a Tx collisionwith the second subscription, and thus may not update an RLC-levelretransmission counter used to determine when the link with the firstsubscription's network is lost.

In some embodiments, the device processor may manage a potential Txcollision by implementing a Tx collision management strategy for thefirst subscription by sending an artificially inflated buffer sizereport (BSR) to the first subscription's network, which may cause thefirst subscription's network to send a plurality of uplink grants to themobile communication device. In such embodiments, the device processormay analyze each uplink grant received from the first subscription'snetwork, identify one or more of a plurality of uplink grants that areassociated with a packet transmission that does not collide with atransmission of the second subscription, and send data to the firstsubscription's network via a non-colliding packet transmission based onthe one or more identified uplink grants.

In some embodiments, the device processor may manage a potential Txcollision by implementing a Tx collision management strategy for thefirst subscription in response to determining that an upcomingtransmission of the first subscription will collide with a transmissionof the second subscription by determining the current radio conditionsfor the first subscription and adjusting the priority of the firstsubscription's upcoming transmission based on the current radioconditions of the first subscription. Specifically, the device processormay increase the priority of the first subscription's upcomingtransmission in response to determining that the current radioconditions of the first subscription are poor or do not satisfy aminimum quality threshold, which may indicate that the firstsubscription may need to immediately communicate with the subscription'snetwork to initiate a handover to a base station/cell that may providebetter service and/or radio conditions. In another example, the deviceprocessor may decrease the priority of the first subscription's upcomingtransmission in response to determining that the current radioconditions of the first subscription are acceptable or satisfy a minimumquality threshold because the first subscription may not need toimmediately communicate with the subscriptions network to prevent adropped call or lost connection.

Various embodiments may be implemented within a variety of communicationsystems 100 that include at least two mobile telephony networks, anexample of which is illustrated in FIG. 1. A first mobile network 102and a second mobile network 104 typically each include a plurality ofcellular base stations (e.g., a first base station 130 and a second basestation 140). A first mobile communication device 110 may be incommunication with the first mobile network 102 through a cellularconnection 132 to the first base station 130. The first mobilecommunication device 110 may also be in communication with the secondmobile network 104 through a cellular connection 142 to the second basestation 140. The first base station 130 may be in communication with thefirst mobile network 102 over a wired connection 134. The second basestation 140 may be in communication with the second mobile network 104over a wired connection 144.

A second mobile communication device 120 may similarly communicate withthe first mobile network 102 through the cellular connection 132 to thefirst base station 130. The second mobile communication device 120 maycommunicate with the second mobile network 104 through the cellularconnection 142 to the second base station 140. The cellular connections132 and 142 may be made through two-way wireless communication links,such as LTE, 4G, 3G, CDMA, TDMA, WCDMA, GSM, and other mobile telephonycommunication technologies.

While the mobile communication devices 110, 120 are shown connected tothe mobile networks 102, 104, in some embodiments (not shown), themobile communication devices 110, 120 may include one or moresubscriptions to two or more mobile networks 102, 104 and may connect tothose networks in a manner similar to the described operations.

In some embodiments, the first mobile communication device 110 mayestablish a wireless connection 152 with a peripheral device 150 used inconnection with the first mobile communication device 110. For example,the first mobile communication device 110 may communicate over aBluetooth® link with a Bluetooth-enabled personal computing device(e.g., a “smart watch”). In some embodiments, the first mobilecommunication device 110 may establish a wireless connection 162 with awireless access point 160, such as over a Wi-Fi connection. The wirelessaccess point 160 may be configured to connect to the Internet 164 oranother network over a wired connection 166.

While not illustrated, the second mobile communication device 120 maysimilarly be configured to connect with the peripheral device 150 and/orthe wireless access point 160 over wireless links.

In some embodiments, the first mobile network 102 and the second mobilenetwork 104 may individually include at least one server (e.g., a server172 and a server 174, respectively) that may be configured to allocateand/or adjust resource grants (e.g., uplink grants) for subscriptions onthe mobile communication devices 110, 120.

FIG. 2 is a functional block diagram of a mobile communication device200 suitable for implementing various embodiments. With reference toFIGS. 1-2, the mobile communication device 200 may be similar to one ormore of the mobile communication devices 110, 120 as described. Themobile communication device 200 may include a first SIM interface 202 a,which may receive a first identity module SIM-1 204 a that is associatedwith a first subscription (e.g., a subscription to an LTE network). Themobile communication device 200 may also include a second SIM interface202 b, which may receive a second identity module SIM-2 204 b that isassociated with a second subscription (e.g., a subscription to a GSMnetwork).

A SIM in various embodiments may be a Universal Integrated Circuit Card(UICC) that is configured with SIM and/or Universal SIM applications,enabling access to, for example, GSM and/or UMTS networks. The UICC mayalso provide storage for a phone book and other applications.Alternatively, in a CDMA network, a SIM may be a UICC removable useridentity module (R-UIM) or a CDMA subscriber identity module (CSIM) on acard. Each SIM card may have a central processing unit (CPU), read onlymemory (ROM), random access memory (RAM), electrically erasableprogrammable read only memory (EEPROM) and input/out (I/O) circuits.

A SIM used in various embodiments may include user account information,an international mobile subscriber identity (IMSI), a set of SIMapplication toolkit (SAT) commands, and storage space for phone bookcontacts. A SIM card may further store home identifiers (e.g., a SystemIdentification Number (SID)/Network Identification Number (NID) pair, aHome Public Land Mobile Number (HPLMN) code, etc.) to indicate the SIMcard network operator provider. An Integrated Circuit Card Identity(ICCID) SIM serial number is printed on the SIM card for identification.However, a SIM may be implemented within a portion of memory of themobile communication device 200 (e.g., memory 214), and thus need not bea separate or removable circuit, chip or card.

The mobile communication device 200 may include at least one controller,such as a general-purpose processor 206, which may be coupled to acoder/decoder (CODEC) 208. The CODEC 208 may in turn be coupled to aspeaker 210 and a microphone 212. The general-purpose processor 206 mayalso be coupled to the memory 214. The memory 214 may be anon-transitory computer readable storage medium that storesprocessor-executable instructions. For example, the instructions mayinclude routing communication data relating to the first or secondsubscription though a corresponding baseband-RF resource chain.

The memory 214 may store an operating system (OS), as well as userapplication software and executable instructions. The memory 214 mayalso store application data, such as an array data structure. In someembodiments, the memory 214 may also store one or more look-up tables,lists, or various other data structures that may be referenced todetermine schedules of upcoming transmissions of the first subscriptionand/or the second subscription.

The general-purpose processor 206 and the memory 214 may each be coupledto at least one baseband modem processor 216. Each SIM in the mobilecommunication device 200 (e.g., the SIM-1 204 a and the SIM-2 204 b) maybe associated with a baseband-RF resource chain. The baseband-RFresource chain may include the baseband modem processor 216, which mayperform baseband/modem functions for communicating with/controlling aradio access technology (RAT), and may include one or more amplifiersand radios, referred to generally herein as RF resources (e.g., RFresources 218 a, 218 b). In some embodiments, baseband-RF resourcechains may share the baseband modem processor 216 (i.e., a single devicethat performs baseband/modem functions for all SIMs on the mobilecommunication device 200). In other embodiments, each baseband-RFresource chain may include physically or logically separate basebandprocessors (e.g., BB1, BB2).

In some embodiments, the RF resources 218 a, 218 b may be associatedwith different SIMs/subscriptions. For example, a first subscription toan LTE network may be associated with the RF resource 218 a, and asecond subscription to a GSM network may be associated with the RFresource 218 b. The RF resources 218 a, 218 b may each be transceiversthat perform transmit/receive functions on behalf of subscriptions/SIMsassigned to each RF resource. The RF resources 218 a, 218 b may alsoinclude separate transmit and receive circuitry, or may include atransceiver that combines transmitter and receiver functions. The RFresources 218 a, 218 b may each be coupled to a wireless antenna (e.g.,a first wireless antenna 220 a or a second wireless antenna 220 b). TheRF resources 218 a, 218 b may also be coupled to the baseband modemprocessor 216.

In some embodiments, the mobile communication device 200 may operate ina Tx-sharing mode in which a plurality of subscriptions utilize a sharedTx resource, such as by sharing the transmit functions of the RFresource 218 a or the RF resource 218 b. In such embodiments, aprocessor or the mobile communication device (e.g., the general-purposeprocessor 206, the baseband modem processor 216, and or a Tx collisionmanagement unit 230) may allocate the shared Tx resource to one of theplurality of subscriptions during a Tx collision event. In someembodiments, the processor(s) may allocate the shared Tx resource to asubscription in the plurality of subscriptions based on thatsubscription's priority. For example, the processor(s) may allocate theshared Tx resource to a GSM subscription engaged in a voice call insteadof an LTE subscription engaged in a data call.

In some embodiments, the general-purpose processor 206, the memory 214,the baseband processor(s) 216, and the RF resources 218 a, 218 b may beincluded in the mobile communication device 200 as a system-on-chip 250.In some embodiments, the first and second SIMs 204 a, 204 b and theircorresponding interfaces 202 a, 202 b may be external to thesystem-on-chip 250. Further, various input and output devices may becoupled to components on the system-on-chip 250, such as interfaces orcontrollers. Example user input components suitable for use in themobile communication device 200 may include, but are not limited to, akeypad 224, a touchscreen display 226, and the microphone 212.

In some embodiments, the keypad 224, the touchscreen display 226, themicrophone 212, or a combination thereof, may perform the function ofreceiving a request to initiate an outgoing call. For example, thetouchscreen display 226 may receive a selection of a contact from acontact list or receive a telephone number. In another example, eitheror both of the touchscreen display 226 and the microphone 212 mayperform the function of receiving a request to initiate an outgoingcall. For example, the touchscreen display 226 may receive a selectionof a contact from a contact list or receive a telephone number. Asanother example, the request to initiate the outgoing call may be in theform of a voice command received via the microphone 212. Interfaces maybe provided between the various software modules and functions in themobile communication device 200 to enable communication between them, asis known in the art.

Functioning together, the two SIMs 204 a, 204 b, the baseband modemprocessor 216, the RF resources 218 a, 218 b, and the wireless antennas220 a, 220 b may constitute two or more RATs. For example, a SIM,baseband processor, and RF resource may be configured to support a GSMRAT, an LTE RAT, and/or a WCDMA RAT. More RATs may be supported on themobile communication device 200 by adding more SIM cards, SIMinterfaces, RF resources, and/or antennae for connecting to additionalmobile networks.

In some embodiments, the Tx collision management unit 230 may beconfigured to manage and/or schedule subscriptions' utilization of ashared Tx resource, such as by adjusting a first subscription'stransmission schedule to avoid a second subscription's scheduledtransmissions during a Tx collision event. In some embodiments, the Txcollision management unit 230 may be implemented within thegeneral-purpose processor 206. In some embodiments, the Tx collisionmanagement unit 230 may be implemented as a separate hardware component(i.e., separate from the general-purpose processor 206). In someembodiments, the Tx collision management unit 230 may be implemented asa software application stored within the memory 214 and executed by thegeneral-purpose processor 206.

FIG. 3 is a block diagram 300 of transmit and receive components inseparate RF resources on the mobile communication device 200 describedwith reference to FIG. 2, according to various embodiments. Withreference to FIGS. 1-3, a transmitter 302 may be part of the RF resource218 a, and a receiver 304 may be part of the RF resource 218 b. In someembodiments, the transmitter 302 may include a data processor 306 thatmay format, encode, and interleave data to be transmitted. Thetransmitter 302 may include a modulator 308 that modulates a carriersignal with encoded data, such as by performing Gaussian minimum shiftkeying (GMSK). One or more transmit circuits 310 may condition themodulated signal (e.g., by filtering, amplifying, and upconverting) togenerate an RF modulated signal for transmission. The RF modulatedsignal may be transmitted by the transmitter 302 to the first basestation 130 via the first wireless antenna 220 a, for example.

The second wireless antenna 220 b may receive RF modulated signals fromthe second base station 140 on the second wireless antenna 220 b andpass the received signals to the receiver 304. One or more receivecircuits 316 may condition (e.g., filter, amplify, and downconvert) thereceived RF modulated signal, digitize the conditioned signal, andprovide samples to a demodulator 318. The demodulator 318 may extractthe original information-bearing signal from the modulated carrier wave,and may provide the demodulated signal to a data processor 320. The dataprocessor 320 may de-interleave and decode the signal to obtain theoriginal, decoded data, and may provide decoded data to other componentsin the mobile communication device 200. Operations of the transmitter302 and the receiver 304 may be controlled by a processor, such as thebaseband modem processor 216.

In various embodiments, each of the transmitter 302 and the receiver 304may be implemented as circuitry that may be separated from correspondingreceive and transmit circuitries (not shown). Alternatively, thetransmitter 302 and the receiver 304 may be respectively combined withcorresponding receive circuitry and transmit circuitry, for example, astransceivers associated with the SIM-1 204 a and the SIM-2 204 b.

As described, mobile communication devices that implement Tx sharing(e.g., to reduce hardware costs) require two (or more) subscriptions toshare a Tx resource. As the transmission schedules of thesesubscriptions occasionally overlap/collide—for example, when each of thesubscriptions is in a connected mode (e.g., handling a voice or datacall)—these subscriptions may compete for access to the shared Txresource during Tx collision events. As a subscription having ahigher/highest priority typically receives access to the shared Txresource to the exclusion of a lower-priority subscription, thelower-priority subscription is unable to use the shared Tx resource tocommunicate with the lower-priority subscription's network while thehigher-priority subscription is transmitting. This causes thelower-priority subscription to drop data packets and, potentially,causes the lower-priority subscription to lose a connection to thesubscription's network. Thus, various embodiments relate to implementingone or more Tx collision management strategies to mitigate the effectsof Tx collision events on the transmission performance of lower-prioritysubscriptions.

FIG. 4 illustrates a method 400 for managing one or more potentialtransmitter collisions by implementing a Tx collision managementstrategy for a lower-priority subscription (i.e., a first subscription),such as a data call, in response to determining that an upcomingtransmission of the first subscription will collide with a transmissionof a higher-priority subscription (i.e., a second subscription), such asa voice call, during a Tx collision event. With reference to FIGS. 1-4,the method 400 may be implemented with a processor (e.g., thegeneral-purpose processor 206, the baseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like)of a multi-SIM-multi-active communication device (e.g., the mobilecommunication device 200). In some embodiments, the mobile communicationdevice may be operating in a Tx-sharing mode such that the firstsubscription and the second subscription utilize a shared Tx resource(e.g., 218 a or 218 b).

In block 402, a first subscription and a second subscription may be in aconnected mode, such as when the first subscription is engaged in a datacall and the second subscription is engaged in a voice call. In someembodiments, servicing a voice call may have priority over servicing adata call to ensure that the mobile communication device provideshigh-quality, reliable voice calls. Thus, the second subscription'stransmissions may have priority over the transmissions of the firstsubscription.

While the first and second subscriptions are operating in aconnected/active mode, the device processor may monitor the firstsubscription's transmission schedule for an upcoming transmission, inblock 404. Then the device processor may determine whether an upcomingtransmission for the first subscription is about to occur, indetermination block 406. The device processor may continue monitoringthe first subscription's transmission schedule so long as an upcomingtransmission for the first subscription is not about to occur (i.e.,while determination block 406=“No”). In some embodiments, the deviceprocessor may access the first subscription's transmission schedule frommemory (e.g., the memory 214), retrieve the transmission schedule fromthe first subscription, and/or obtain the transmission schedule from thefirst subscription's network. In such embodiments, the device processormay reference the first subscription's transmission schedule todetermine whether the first subscription is about to transmit. In someembodiments, the device processor may additionally (or alternatively)determine the first subscription's transmission schedule based onpatterns in the first subscription transmission history.

In response to determining that an upcoming transmission of the firstsubscription is about to occur (i.e., determination block 406=“Yes”),the device processor may determine the second subscription'stransmission schedule relative to the upcoming transmission of the firstsubscription, in block 408. In some embodiments, the device processormay access or obtain the transmission schedule of the secondsubscription by performing operations similar to those described withreference to blocks 404-406.

In determination block 410, the device processor may determine whetherthe upcoming transmission of the first subscription will collide with atransmission of the second subscription. In other words, the deviceprocessor may determine whether a Tx collision event (i.e., one or morepotential collisions) is expected to occur between the first and secondsubscriptions based on transmission schedules of each subscription. Forexample, the device processor may determine whether at least onetransmission of the first subscription will coincide/overlap with atransmission of the second subscription, which may indicate that thefirst subscription may be unable to access the shared Tx resourcebecause the second subscription, as a higher-priority subscription, mayreceive sole access to the shared Tx resource to the exclusion of thefirst subscription.

In response to determining that the upcoming transmission of the firstsubscription will not collide with the transmission of the secondsubscription (i.e., determination block 410=“No”), the device processormay send the upcoming transmission for the first subscription to thefirst subscription's network as usual, in block 414. In other words, inresponse to determining that there will be no Tx collision event betweenthe first subscription and the second subscription, the device processorand/or various other components on the mobile communication device mayenable the first subscription to transmit the upcoming transmission tothe first subscription's network as usual and without interruption.

In response to determining that the upcoming transmission of the firstsubscription will collide with the transmission of the secondsubscription (i.e., determination block 410=“Yes”), the device processormay implement a Tx collision management strategy for the firstsubscription, in block 412. In some embodiments, the Tx collisionmanagement strategy may reduce the impact of the loss of access to theshared Tx resource during the first subscriptions upcoming transmission.

In some embodiments of the operations performed in block 412, the deviceprocessor may reschedule upcoming scheduling request (“SR”)transmissions associated with Physical Uplink Shared Channel (“PUSCH”)transmissions (herein referred to as “packet” transmissions) in theevent that the device processor determines that the packet transmissionsassociated with the upcoming SR transmissions will collide with atransmission of the second subscription (see, e.g., FIGS. 5-6).

In some embodiments, the device processor may implement a Tx collisionmanagement strategy for the first subscription by skipping/ignoringuplink grants received from the network that are associated with packettransmissions that the device processor determines will collide with atransmission of the second subscription (see, e.g., FIGS. 7-9B). In suchembodiments, the device processor may wait to send high-prioritymessages as part of a packet transmission associated with a new uplinkgrant received from the first subscription's network that will notcollide with a transmission of the second subscription.

In some embodiments, the device processor may implement a Tx collisionmanagement strategy for the first subscription in block 412 byimmediately initiating a radio-link-control-level (RLC-level)retransmission operation in response to determining that one or moreattempts to transmit (or retransmit) a packet have failed at thehybrid-automatic-repeat-request (HARQ) level. In such embodiments, thedevice processor may not account for HARQ-level packettransmissions/retransmissions that failed due to a Tx collision with thesecond subscription, and thus may not update a RLC-level retransmissioncounter used to determine when the link with the first subscription'snetwork is lost (i.e., a radio link failure) (see, e.g., FIGS. 10-11).

In some embodiments, the device processor may implement a Tx collisionmanagement strategy for the first subscription in block 412 by sendingan artificially inflated buffer size report (BSR) to the firstsubscription's network, which may cause the network to send a pluralityof uplink grants to the mobile communication device for use by the firstsubscription. In such embodiments, the device processor may analyze eachuplink grant received from the first subscription's network, identifyone or more of plurality of uplink grants that are associated with apacket transmission that does not collide with a transmission of thesecond subscription (i.e., avoids a Tx collision event), and send datavia a non-colliding packet transmission based on the one or moreidentified uplink grants (see, e.g., FIGS. 12-13).

In some embodiments of the operations performed in block 412, the deviceprocessor may implement a Tx collision management strategy for the firstsubscription in response to determining that an upcoming transmission ofthe first subscription will collide with a transmission of the secondsubscription by determining the current radio conditions for the firstsubscription and adjusting the priority of the first subscription'supcoming transmission based on the current radio conditions of the firstsubscription (see, e.g., FIG. 14). For example, the device processor mayincrease the priority of the first subscription's upcoming transmissionin response to determining that the current radio conditions of thefirst subscription are poor or do not satisfy a minimum qualitythreshold, indicating that the first subscription may need tocommunicate with the subscription's network to initiate handover to abetter base station/cell that may provide better radio conditions. Inanother example, the device processor may decrease the priority of thefirst subscription's upcoming transmission in response to determiningthat the current radio conditions of the first subscription are good orsatisfy a minimum quality threshold because the first subscription maynot need to immediately communicate with the subscription's network toprevent a dropped call or lost connection.

In response to implementing a Tx collision management strategy for thefirst subscription in block 412 or sending the upcoming transmission forthe first subscription to the first subscription's network in block 414,the device processor may repeat the operations of the method 400 byagain monitoring the first subscription's transmission schedule foranother upcoming transmission in block 404.

In some embodiments (not shown), the device processor may repeat theoperations of the method 400 so long as both the first subscription andthe second subscription are in an active/connected mode or while thereis a possibility of a Tx collision event occurring between the firstsubscription and the second subscription.

FIG. 5 is a timeline diagram 500 illustrating transmission schedules ofa first subscription 502 (i.e., “subscription₁”) and a secondsubscription 504 (i.e., “subscription”) over time 506 while thesubscriptions 502, 504 are in a connected mode and sharing a single Txresource. In various embodiments and for ease of description, the firstsubscription 502 may be considered as having a lower-priority than thepriority of the second subscription 504, as described. As such, thefirst subscription 502 may be prevented from utilizing a shared Txresource in the event that transmissions of the first subscription 502collide with transmission of the second subscription 504 because thefirst subscription 502 has a lower priority than the priority of thesecond subscription 504.

With reference to FIGS. 1-5, the first subscription 502 may periodicallysend SR transmissions (e.g., SR transmissions 508 a, 508 b) to the firstsubscription's network via a control channel. In some embodiments, thefirst subscription 502 may use SR transmissions to request uplinkresource allocations (i.e., uplink resource grants) from the firstsubscription's network, and in response to receiving the SRtransmission, the network of the first subscription 502 may send one ormore uplink grants (e.g., uplink grants 510 a, 510 b) to the firstsubscription 502 that designate a scheduled time during which the firstsubscription 502 may transmit a data packet(s) to the network via aPUSCH/packet transmission (e.g., packet transmissions 514, 516).

In various embodiments, the first subscription 502 may communicate withthe first subscription's network based on a predetermined schedule. Forexample, the first subscription 502 may be configured to send SRtransmissions periodically, receive uplink grants corresponding to thoseSR transmissions at an expected time, and send packet transmissions at apredetermined time based on the received plurality of uplink grants. Inother words, because the first subscription 502 and the network of thefirst subscription 502 communicate with each other based on apredetermined schedule, a device processor on the mobile communicationdevice (not shown) may anticipate a time at which the first subscription502 will send a packet transmission based on the time at which the firstsubscription 502 sends the preceding SR transmission associated withthat packet transmission.

In some embodiments, the device processor may access informationregarding the transmission schedule of the first subscription 502 todetermine the predetermined time between an SR transmission and the SRtransmission's corresponding packet transmission. For example, asillustrated in the timeline diagram 500, the device processor maydetermine that the packet transmission 514 of the first subscription 502will begin a predetermined amount of time 512 after the beginning of theSR transmission 508 a. Similarly, the device processor may determinethat the first subscription 502 will attempt to send the packettransmission 516 after the predetermined amount of time 512 after thefirst subscription 502 begins to send the SR transmission 508 b.

In some embodiments, the device processor may have access to (and/or maydetermine) a transmission schedule of the second subscription 504, asdescribed (e.g., the method 400). For example, the device processor maydetermine that the second subscription 504 is scheduled to periodicallybroadcast high-priority (e.g., voice) transmissions 518 a-518 c.

Thus, because the device processor may access and/or determine thetransmission schedules of both the first subscription 502 and the secondsubscription 504, the device processor may preemptively determinewhether an SR transmission of the first subscription 502 may ultimatelyresult in an attempt by the first subscription 502 to send a packettransmission at the same time that the second subscription 504 isscheduled to send a high-priority transmission that may prevent thefirst subscription 502 from sending the packet transmission (i.e.,whether there will be a Tx collision event between the firstsubscription 502 and the second subscription 504). Based on thisdetermination, the device processor may preemptively skip SRtransmissions that result in Tx collision events, thereby saving powerand Tx resources and preventing wasteful uplink resource allocationsfrom the network of first subscription 502.

In an example (as illustrated in the timeline diagram 500), the deviceprocessor may determine that the packet transmission 514 of the firstsubscription 502 will collide with the high-priority transmission 518 aof the second subscription 504 based on the timing of the SRtransmission 508 a. In this example, the device processor mayprevent/skip the SR transmission 508 a as the corresponding packettransmission 514 associated with the SR transmission 508 a is expectedto be lost/dropped due to a collision with the high-prioritytransmission 518 a of the second subscription 504.

In another example, the device processor may determine that the packettransmission 516 of the first subscription 502 will not collide with anyhigh-priority transmission of the second subscription 504 based on thetiming of the SR transmission 508 b. As a result, the device processormay enable the first subscription 502 to send the SR transmission 508 bbecause the corresponding packet transmission 516 is expected to be sentsuccessfully to the first subscription 502's network.

FIG. 6 illustrates a method 600 for preventing/skipping SR transmissionsof a first subscription that are associated with packet transmissionsdetermined to collide with higher-priority transmissions of a secondsubscription according to some embodiments. With reference to FIGS. 1-6,the method 600 may be implemented with a processor (e.g., thegeneral-purpose processor 206, the baseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like)of a mobile communication device (e.g., the mobile communication device200). The operations of the method 600 implement some embodiments of theoperations of the method 400 as described. Thus, the device processormay begin performing the operations of the method 600 in response todetermining that an SR transmission (i.e., an upcoming transmission) isabout to occur in determination block 406 of the method 400 (i.e., whendetermination block 406=“Yes”).

In block 602, the device processor may determine a time at which the SRtransmission for the first subscription is scheduled to occur. Asdescribed (see FIG. 5), the device processor may have access to thetransmission schedule of the first subscription and/or may determine thetransmission schedule of the first subscription based on informationreceived directly from the first subscription and/or from the firstsubscription's network. For example, the device processor may receiveinformation from the first subscription's network indicating that thefirst subscription sends SR transmissions periodically (e.g., everycertain number of milliseconds).

Based on the time at which the SR transmission is scheduled to occur asdetermined in block 602, the device processor may determine the time atwhich a packet transmission associated with the SR transmission isscheduled to occur, in block 604. In some embodiments, the packettransmission may be a PUSCH transmission that includes one or more datapackets related to the first subscription's data call.

In block 606, the device processor may determine the secondsubscription's transmission schedule during the time at which the packettransmission of the first subscription is scheduled to occur asdetermined in block 604.

Based on the time determined in block 604 and the second subscription'stransmission schedule as determined in block 606, the device processormay determine whether the packet transmission of the first subscriptionwill collide with a transmission of the second subscription, indetermination block 608. In response to determining that the packettransmission will not collide with the transmission of the secondsubscription (i.e., determination block 608=“No”), the device processormay send the SR transmission to the first subscription's network asusual, in block 614. In other words, because the packet transmissionassociated with the SR transmission will not collide with a transmissionof the second subscription, the SR transmission may ultimately result ina packet transmission that is successfully sent to the firstsubscription's network.

In response to determining that the packet transmission will collidewith a transmission of the second subscription (i.e., determinationblock 608=“Yes”), the device processor may optionally determine whethera threshold number of previously skipped SR transmissions has beenreached, in optional determination block 610. In some embodiments, thedevice processor may maintain a count of the number of consecutive SRtransmissions that have been skipped/prevented and may continueskipping/preventing SR transmissions that cause a Tx collision event tooccur between the first subscription and the second subscription untilthe threshold number of previously skipped SR transmissions has beenreached. For example, the device processor may skip only a certainnumber of consecutive SR transmissions before enabling the firstsubscription to send the SR transmission, even though the correspondingpacket transmission is likely to collide with a higher-prioritytransmission of the second subscription and be lost/dropped. Thus, inresponse to determining that a threshold number of previously skipped SRtransmissions has been reached (i.e., optional determination block610=“Yes”), the device processor may send the SR transmission to thefirst subscription's network as usual, in block 614, as described.

In response to determining that a threshold number of previously skippedSR transmissions has not been reached (i.e., optional determinationblock 610=“No”) or determining that the packet transmission will collidewith a transmission of the second subscription (i.e., determinationblock 608=“Yes”), the device processor may optionally determine whethera threshold period of time has elapsed since the most recent SRtransmission was sent to the first subscription's network, in optionaldetermination block 611. In some embodiments, in addition to (or insteadof) maintaining a count of the number of SR transmissions that have beenskipped for the first subscription (see optional determination block610), the device processor may maintain a timer that measures a periodof time since the most recent SR transmission was sent to the firstsubscription's network. In such embodiments, the threshold period oftime may indicate a maximum period of time that SR transmissions may beskipped/prevented before an SR transmission must be sent to the firstsubscription's network (e.g., to maintain a connection with the firstsubscription's network).

In response to determining that the threshold period of time has elapsedsince the most recent SR transmission was sent to the firstsubscription's network (i.e., optional determination block 611=“Yes”),the device processor may send the SR transmission to the firstsubscription's network as usual, in block 614, as described. In responseto determining that the threshold period of time has not elapsed sincethe most recent SR transmission was sent to the first subscription'snetwork (i.e., optional determination block 611=“No”) or determiningthat a threshold number of previously skipped SR transmissions has notbeen reached (i.e., optional determination block 610=“No”), the deviceprocessor may prevent the SR transmission from being sent to the firstsubscription's network in block 612.

After sending the SR transmission in block 614 or preventing SRtransmission in block 612, the device processor may continue performingoperations in block 404 of the method 400 by again monitoring the firstsubscription's transmission schedule for an upcoming transmission.

FIG. 7 is a timeline diagram 700 illustrating transmission schedules ofa first subscription and a second subscription over time 702 while thesubscriptions are operating in a connected mode on a mobilecommunication device. With reference to FIGS. 1-7, a device processor ofa mobile communication device (e.g., the mobile communication device200) may determine and/or access transmission schedules for the firstsubscription 502 and the second subscription 504 for use in reschedulingtransmissions of the first subscription 502 to avoid collisions with thetransmissions of the second subscription 504.

In some embodiments, the first subscription 502 may receive one or moreuplink grants from the network of the first subscription 502 thatindicate a time at which the first subscription 502 may send packettransmissions to a network of the first subscription 502. For example,the first subscription 502 may receive uplink grants 704 a, 704 b thatindicate times at which the first subscription 502 may send packettransmissions 706, 708, respectively. For ease ofdescription/illustration, the associations between the uplink grants 704a, 704 b and the packet transmissions 706, 708 are represented by dashedlines.

As described (see, e.g., FIG. 5-6), the device processor may prevent SRtransmissions of the first subscription 502 that ultimately result in acollision between a packet transmission and a high-priority transmissionof the second subscription 504. In some embodiments, the deviceprocessor may alternatively (or additionally) reschedule when messagesof the first subscription 502 are transmitted based on the messages'priorities. Specifically, the device processor may identify packettransmissions that will collide with transmission(s) of the secondsubscription 504 based on corresponding uplink grants and may reschedulehigh-priority messages to be included in packet transmissions that arenot at risk of colliding with transmissions of the second subscription504. These high-priority messages may represent various measurements,commands, requests, and/or other information that the first subscriptionmay need to send to the first subscription's network to maintainadequate service/performance. For example, a high-priority message mayinclude information that the network of the first subscription 502 mayuse to cause the first subscription 502 to perform a handover operationto a neighboring cell that offers superior performance in comparisonwith a current serving cell of the first subscription 502. In contrast,low-priority messages may include information that is not essential (ornot immediately essential) to the performance of the first subscription502.

Thus, as illustrated, the device processor may determine that the uplinkgrant 704 a is associated with the packet transmission 706 that willcollide with a high-priority transmission 712 a of the secondsubscription 504. As a result, the device processor may not includehigh-priority messages in the packet transmission 706 in order to avoidlosing those high-priority messages due to a collision with thehigh-priority transmission 712 a. In some embodiments, the deviceprocessor may include low-priority messages as part of the packettransmission 706 even though the packet transmission 706 will collidewith the high-priority transmission 712 a of the second subscription504. In alternative embodiments, the device processor may not includeany messages as any data packets included in the packet transmission 706as the messages (data packets) are expected to be dropped.

In response to receiving the uplink grant 704 b, the device processormay determine that the corresponding packet transmission 708 will notcollide with a transmission of the second subscription 504, and thus,may determine that the packet transmission 708 is eligible to includehigh-priority messages that were previously omitted from the packettransmission 706. In other words, the device processor may wait toinclude high-priority messages in a packet transmission that is not atrisk of colliding with the transmission of the second subscription 504,thus ensuring that the high-priority messages are not lost or droppeddue to Tx collision with the second subscription 504.

FIG. 8A is a signaling and call flow diagram 800 illustratingcommunications exchanged between various components of a firstsubscription's (e.g., 502) communication protocol stack on amulti-SIM-multi-active communication device that ensure thathigh-priority messages are included in packet transmissions that willnot collide with transmissions of a second subscription (e.g., 504).

With reference to FIGS. 1-8A, a mobile communication device (e.g., themobile communication device 200) may include a second layer 804 of thefirst subscription's communication protocol stack (i.e., “Layer 2”)—suchas a medium access control (“MAC”) layer or a radio-link-control (RLC)layer, a first layer 806 of the first subscription's communicationprotocol stack (i.e., “Layer 1”), and a firmware layer 808 of the firstsubscription's communication protocol stack (i.e., “Firmware”). In someembodiments, one or more of the communication-protocol-stack layers804-808 may be implemented within one or more processors 802 (e.g., thegeneral-purpose processor 206, the baseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like).Alternatively, one or more of the communication-protocol-stack layers804-808 may be implemented as a separate hardware and/or softwareprocessor.

In some embodiments, the firmware layer 808 may be configured to receiveuplink grants from the first subscription's network and to send datapackets to the first subscription's network as part of a packettransmission (see, e.g., FIG. 7).

The first layer 806 may be configured to access and/or determine thetransmission schedule of the first subscription and a secondsubscription and, based on the transmission schedules of the first andsecond subscriptions, determine whether a packet transmission of thefirst subscription associated with an uplink grant will collide with atransmission of the second subscription. In some embodiments, the firstlayer 806 may request transmission schedule information related to thesecond subscription directly from the second subscription and/or from anintermediate scheduling component operating on the mobile communicationdevice (e.g., the Tx collision management unit 230).

The second layer 804 may be configured to assemble/build data packetsfor inclusion in packet transmissions sent to the first subscription'snetwork. In some embodiments, the second layer 804 may be configured toprioritize messages to be included in a data packet and to identifymessages to include in a data packet. For example, the second layer 804may determine that a message related to a power measurement is ahigh-priority message and may include that message in a data packet tobe sent to the first subscription's network as part of a packettransmission.

As illustrated in an example, the firmware layer 808 may receive anuplink grant for the first subscription (i.e., “subscription₁”) from thefirst subscription's network (not shown) and may send the uplink grantto the first layer 806 via a signal 810. In response to receiving theuplink grant via the signal 810, the first layer 806 may determine thata packet transmission associated with the received uplink grant willcollide with a transmission of the second subscription (i.e.,“subscription₂”) in an operation 812. For example, the first layer 806may reference the transmission schedule of the second subscription todetermine that the second subscription is scheduled to transmit at thesame time the first subscription is scheduled to send the packettransmission associated with received uplink grant received.

Based on the determination reached in the operation 812, the first layer806 may send to the second layer 804 a packet-build-indication signal814 indicating that any packet sent as part of a packet transmissionbased on the received uplink grant may be dropped due to a Tx collisionwith the second subscription's transmissions. In operation 816, thesecond layer 804 may build a packet that is anticipated to be droppeddue to the second subscription's transmissions (i.e., a “collidingpacket”). In some embodiments, the second layer 804 may build/assemblethe colliding packet to include no messages (i.e., an “empty” packet)because the packet is expected to be dropped/lost. Alternatively, insome embodiments, the second layer 804 may build/assemble the collidingpacket to include only low-priority messages, such as by prioritizingthe messages to be included in the packet and only including thosemessages in the packet that are determined to have a low priority.

After the second layer 804 builds the colliding packet in the operation816, the first layer may send a scheduling request for the collidingpacket to the firmware layer 808 via a signal 818. The schedulingrequest may prompt the firmware layer 808 to schedule the collidingpacket to be sent as part of a packet transmission using known methods,and the firmware layer 808 may drop the colliding packet in operation820 due to the Tx collision between the first and second subscriptions(as anticipated by the first layer 806 in the operation 812).

While the colliding packet is dropped in the operation 820, thecolliding packet may include no messages (or only low-prioritymessages), and thus, no high-priority messages are lost, therebymitigating the overall impact of dropping the colliding packet becausethose high-priority messages may be included in a packet that is sent ata later time as part of a non-colliding packet transmission. Forexample, the firmware layer 808 may receive a new uplink grant for thefirst subscription from the first subscription's network (not shown) andmay send the new uplink grant to the first layer 806 via signaling 822.The first layer 806 may determine that the packet transmissionassociated with the new uplink grant will not collide with thetransmission of the second subscription in operation 824, such as byperforming operations similar to the operation 812. In other words, thefirst layer 806 may determine when the packet transmission associatedwith the new uplink grant will occur and may determine that the secondsubscription is not scheduled to transmit at that time.

In response to determine that the packet transmission associated withthe new uplink grant will not collide with the second subscription'stransmissions in the operation 824, the first layer 806 may send abuild-packet indication to the second layer 804 via a signal 826. Insome embodiments, the signal 826 may also indicate that the packet isscheduled to be included in a packet transmission that will not collidewith the transmission of the second subscription (i.e., that the packetis not anticipated to be dropped due to a Tx collision with the secondsubscription's transmissions). In response, in operation 828, the secondlayer 804 may build a packet (i.e., a “non-colliding” packet) thatincludes, among other messages, the high-priority messages that may havebeen previously omitted from the colliding packet in the operation 816.In other words, because the non-colliding packet is anticipated to besuccessfully transmitted to the first subscription's network, the secondlayer 804 may include high-priority messages that may have beenpreviously excluded from former packets.

After the non-colliding packet is built/assemble in the operation 828,the first layer may send a packet-scheduling request for thenon-colliding packet to the firmware layer 808 via a signal 830. In someembodiments, the signal 830 may prompt the firmware layer 808 to sendthe non-colliding packet to the first subscription's network inoperation 832. As there is no anticipated collision with the secondsubscription's transmissions, the non-colliding packet may successfullyreach the first subscription's network, and as a result, the firstsubscription's network may receive the high-priority messages from thefirst subscription.

FIG. 8B is a signaling and call flow diagram 850 illustratingcommunications exchanged between various components of a firstsubscription's (e.g., 502) communication protocol stack on amulti-SIM-multi-active communication device that attempt to sendhigh-priority messages as part of packet transmissions that will notcollide with transmissions of a second subscription (e.g., 504). Withreference to FIGS. 1-8B, a mobile communication device (e.g., the mobilecommunication device 200) may include the second layer 804, the firstlayer 806, and the firmware layer 808 of the first subscription'scommunication protocol stack. In some embodiments, the mobilecommunication device may include the processor(s) 802.

As described (see FIG. 8A), the communication-protocol-stack layers804-808 may be configured to omit high-priority messages from packettransmissions anticipated to collide with a transmission of the secondsubscription in order to avoid losing the high-priority messages. Forexample, the communication-protocol-stack layers 804-808 may sendsignals various signals and may perform various operations to ensurethat high-priority messages are not included in a colliding packet thatwill be dropped due to a Tx collision with the second subscription asdescribed. For instance, the firmware layer 808 may receive an uplinkgrant for the first subscription from the first subscription's network(not shown) and may send the uplink grant to the first layer 806 via thesignal 810, the first layer 806 may determine that a packet transmissionassociated with uplink grant will collide with a transmission of thesecond subscription in the operation 812, the first layer 806 may send abuild-packet indication to the second layer 804 via the signal 814, thesecond layer 804 may build a colliding packet with no message or withonly low-priority messages in the operation 816, the first layer 806 maysend a scheduling request for the colliding packet to the firmware layer808 via the signal 818, and the firmware layer 808 may drop thecolliding packet due to the Tx collision with the second subscription inthe operation 820.

In some embodiments, high-priority messages are preserved until a newuplink grant is received that is associated with a non-colliding packettransmission, at which point the high-priority messages are sent as partof the non-colliding packet transmission. For example, the mobilecommunication device may receive a first uplink grant associated with acolliding packet transmission, high-priority messages may be retaineduntil a second uplink grant associated with a non-colliding packettransmission is received, and the high-priority messages may be sent tothe first subscription's network via the non-colliding packettransmission.

However, in some embodiments, a retransmission of an uplink grantassociated with a colliding packet transmission may be received before anew uplink grant is received. In such embodiments, thecommunication-protocol-stack layers 804-808 may attempt to send thehigh-priority messages as part of a packet transmission associated withthe retransmitted uplink grant regardless of whether that packetretransmission is anticipated to collide with a transmission of thesecond subscription.

Thus, in the illustrated example, instead of receiving a new uplinkgrant (see FIG. 8A), the firmware layer 808 may receive a retransmissionof a previously sent uplink grant for the first subscription (i.e., aretransmitted uplink grant) and may send the retransmitted uplink grantto the first layer 806 via a signal 852. In response, the first layer806 may send to the second layer 804 a build-packet-indication signal854 indicating that the uplink grant is a retransmission and thathigh-priority messages should be included in an assembled/built packet.

In operation 856, the second layer 804 may build/assemble aretransmission packet that includes high-priority messages that may havebeen excluded from previous colliding packets (see the operation 816).The first layer 806 may send a scheduling request for the retransmissionpacket to the firmware layer 808 via a signal 858, and the firmwarelayer 808 may attempt to send the packet to the first subscription'snetwork in operation 860.

FIGS. 9A-9B illustrate methods 900, 950 for selectively schedulinghigh-priority messages of a first subscription (e.g., 502) to beincluded or omitted from packet transmissions sent to the firstsubscription's network based on whether the packet transmissions willcollide with transmission of a second subscription (e.g., 504),according to some embodiments. With reference to FIGS. 1-9A, the methods900, 950 may be implemented with a processor (e.g., the general-purposeprocessor 206, the baseband modem processor 216, the Tx collisionmanagement unit 230, communication-protocol-stack layers 804-808, theprocessor(s) 802, a separate controller, and/or the like) of a mobilecommunication device (e.g., the mobile communication device 200). Theoperations of the methods 900, 950 implement some embodiments of theoperations of the method 400 as described.

The device processor may begin performing the operations of the method900 while the first subscription and the second subscription are sharinga Tx resource and operating in a connected mode in block 402 of themethod 400. In block 902, the device processor may monitor for a firstuplink grant for the first subscription, and the device processor maycontinue monitoring for the first uplink grant so long as the firstuplink grant for the first subscription has not been received (i.e.,while determination block 904=“No”).

In response to determining that the first uplink grant has been receivedfor the first subscription (i.e., determination block 904=“Yes”), thedevice processor may determine a first time at which a first packettransmission of the first subscription is scheduled to occur based onthe first uplink grant, in block 906. For example, the device processormay access or determine the transmission schedule of the firstsubscription and may determine the first time based on that transmissionschedule and the first uplink grant. In another example, the firstsubscription's network may include the first time in the first uplinkgrant.

In block 908, the device processor may determine the secondsubscription's transmission schedule during the first time, such as byreferencing a predetermined schedule transmissions associated with thesecond subscription, as described (see, e.g., FIG. 6).

Based on the first time determined in block 906 and the secondsubscription's transmission schedule determined in block 908, the deviceprocessor may determine whether the first packet transmission willcollide with a transmission of the second subscription, in determinationblock 910. In response to determining that the first packet transmissionwill not collide with the transmission of the second subscription (i.e.,determination block 910=“No”), the device processor may send the firstpacket transmission to the first subscription's network via knownmethods/techniques, in block 912.

In response to determining that the first packet transmission willcollide with the transmission of the second subscription (i.e.,determination block 910=“Yes”), the device processor may determinewhether at least one high-priority message is scheduled to betransmitted as part of the first packet transmission, in determinationblock 914. In some embodiments, a medium access control layer of thefirst subscription's communication protocol stack (e.g., the secondlayer 804) may identify the messages scheduled to be sent as part of thefirst packet transmission and may determine the respective priorities ofthe messages based on various criteria.

In response to determining that no high-priority messages are scheduledto be transmitted as part of the first packet transmission (i.e.,determination block 914=“No”), the device processor may attempt to sendlow-priority messages in the first packet transmission to the firstsubscription's network, in block 916 b. In other words, because thereare no high-priority messages scheduled to be transmitted as part of thefirst packet transmission, the device processor may attempt to send thefirst packet transmission despite the likelihood of colliding with atransmission of the second subscription (i.e., the likelihood of a Txcollision event occurring between the first subscription and the secondsubscription).

In response to sending the first packet transmission to the firstsubscription's network in block 912 or attempting to send low-prioritymessages and the first packet transmission to the first subscription'snetwork in block 916 b, the device processor may repeat the operationsof the method 900 by monitoring for another uplink grant for the firstsubscription in block 902.

In response to determining that at least one high-priority message isscheduled to be transmitted as part of the first packet transmission(i.e., determination block 914=“Yes”), the device processor mayoptionally attempt to send low-priority message in the first packettransmission to the first subscription's network, in block 916 a, suchas by performing operations similar to those described with reference toblock 916 b. In other words, while the device processor may omithigh-priority messages from the first packet transmission due to theanticipated Tx collision with the second subscription's transmissions,the device processor may still attempt to send low-priority messages inthe first packet transmission. In such embodiments, the loss of thelow-priority messages may not substantially affect the transitperformance of the first subscription and thus may not need to bepreserved until a non-colliding packet transmission is identified in thefuture.

In block 918, the device processor may prevent transmission of the atleast one high-priority message as part of the first packet transmissionbecause the first packet transmission is expected to fail due to theanticipated Tx collision with the transmission of the secondsubscription. Thus, rather than lose the at least one high-prioritymessage, the device processor may retain any high-priority messages andattempt to send them at a later time via a packet transmission that isnot expected to collide with a transmission of the second subscription.

The device processor may continue with the method 950 illustrated inFIG. 9B according to some embodiments. With reference to FIGS. 1-9B, thedevice processor may begin performing the operations of the method 950in response to preventing the transmission of the at least onehigh-priority message in the packet transmission that will collide withthe transmission of the second subscription.

In block 952, the device processor may monitor for the reception ofeither a second uplink grant or a retransmission of the first uplinkgrant, and may continue monitoring for the reception of either thesecond uplink grant or the retransmission of the first uplink grantuntil one of these grants is received from the network of the firstsubscription (i.e., while determination block 954=“No”). As described(see FIGS. 8A-8B), the second uplink grant may be a new uplink grant(i.e., an uplink grant that is separate from or unrelated to the firstuplink grant), whereas the retransmission of the first uplink grant mayrefer to a previously received uplink grant (e.g., a retransmission ofthe first uplink grant).

In response to determining that either the second uplink grant or theretransmission of the first uplink grant has been received (i.e.,determination block 954=“Yes”), the device processor may determinewhether a second uplink grant was received (i.e., rather than aretransmission of the first uplink grant), in determination block 956.In response to determining that a retransmission of the first uplinkgrant was received (i.e., determination block 956=“No”), the deviceprocessor may attempt to send high-priority messages to the firstsubscription's network as part of a packet retransmission based on theretransmission of the first uplink grant, in block 960. In someembodiments, the device processor may continue to delay sendinghigh-priority messages until a new uplink grant is received that isassociated with a non-colliding packet transmission or until aretransmission of a previously received uplink grant (e.g., the firstuplink grant) is received. In response to receiving a retransmission ofa previously received uplink grant, the device processor may attempt tosend the high-priority messages in a packet retransmission to the firstsubscription's network.

In response to determining that the second uplink grant was received(i.e., determination block 956=“Yes”), the device processor maydetermine a second time at which a second packet transmission of thefirst subscription is scheduled to occur based on the second uplinkgrant, in block 958. The device processor may determine the secondsubscription's transmission schedule during the second time, in block962. The device processor may determine whether the second packettransmission will collide with a transmission of the second subscriptionbased on the second subscription's transmission schedule, indetermination block 964. In some embodiments of the operations performedin blocks 958, 962, 964, the device processor may perform operationssimilar to those described with reference to blocks 906-910 of themethod 900.

In response to determining that the second packet transmission will notcollide with a transmission of the second subscription (i.e.,determination block 964=“No”), the device processor may sendhigh-priority messages as part of the second packet transmission to thefirst subscription's network based on the second uplink grant, in block970. In other words, because the device processor has determined thatthe second packet transmission is not at risk of colliding with atransmission of the second subscription, the device processor mayinclude high-priority messages (e.g., those high-priority messagesassociated with the first uplink grant and omitted from the first packettransmission) in the second packet transmission, thereby improving thefirst subscription's transmit performance as the high-priority messagesare not dropped/lost due to Tx collisions with the second subscription.

In response to determining that the second packet transmission willcollide with the transmission of the second subscription (i.e.,determination block 964=“Yes”), the device processor may optionallydetermine whether a threshold number of rescheduled high-prioritymessages has been reached, in optional determination block 966. In someembodiments, the device processor may keep track of the consecutivenumber of times that high-priority messages have been rescheduled (i.e.,omitted from packet transmissions). In such embodiments, the deviceprocessor may only prevent/reschedule transmissions of high-prioritymessages a threshold number of times before attempting to send thehigh-priority messages.

Thus, in response to determining that a threshold number of rescheduledhigh-priority messages has not been reached (i.e., optionaldetermination block 966=“No”), the device processor may repeat theoperations of the method 950 by monitoring for the reception of a thirduplink grant (i.e., a new uplink grant) or a retransmission of the first(and/or second) uplink grant, in block 952.

In response to determining that a threshold number of rescheduledhigh-priority messages has been reached (i.e., optional determinationblock 966=“Yes”), the device processor may attempt to send high-prioritymessages to the first subscription's network as part of the secondpacket transmission based on the second uplink grant, in block 968. Asdescribed, the device processor may reschedule priority messages acertain number of times before attempting to send the high-prioritymessages despite the possibility of a Tx collision with the secondsubscription. In addition or as an alternative to determining that athreshold number of rescheduled high-priority messages has been reached,the device processor may determine whether a threshold amount of timehas passed since the first attempt to send the high-priority message. Ifthe threshold amount of time has passed and/or the threshold number ofrescheduled high-priority messages has been reached, the deviceprocessor may attempt to send high-priority messages to the firstsubscription's network as part of the second packet transmission basedon the second uplink grant in block 968.

After attempting to transmit high-priority messages as part of thepacket retransmission based on the retransmission of the first uplinkgrant (block 960), attempting to send high-priority messages as part ofthe second packet transmission based on the second uplink grant (block968), or sending high-priority messages as part of the second packettransmission based on the second uplink grant (block 970), the deviceprocessor may continue performing operations in block 902 of the method900 by monitoring for another uplink grant for the first subscription.

Some conventional mobile communication devices manage communicationsbetween a subscription and the subscription's network based on two ormore “levels” of transmissions/retransmissions associated with differentlayers of the subscription's communication protocol stack. Usually, asecond/data-link layer of the subscription's communication protocolstack (e.g., a MAC or RLC layer) utilizes automatic repeat requests(“ARQ”) to reliably coordinate packet transmissions and retransmissionswith the subscription's network using known methods. ARQ-leveltransmissions/retransmission (herein referred to as “RLC-level”transmissions and/or retransmission) rely on acknowledgements from thesubscription's network that a data packet has been successfully receivedand decoded, and RLC-level transmissions are usually very reliable,thereby requiring few retransmissions. A first/physical layer of thesubscription's communication protocol stack typically utilizeshybrid-ARQ (“HARQ”) to coordinate transmissions/retransmission betweenthe subscription and the subscription's network using known methods.HARQ-level transmissions/retransmissions are generally faster thanRLC-level transmissions/retransmissions, but are more prone totransmission error (and thus require comparatively moreretransmissions). By utilizing multiple “levels” oftransmission/retransmission, conventional mobile communication devicesare able to achieve fast and reliable transmissions and retransmissions.

Further, in conventional mobile communication devices, after a packettransmission is attempted and fails, an RLC-level retransmission timeris initiated, and a packet retransmission on the RLC-level is attemptedwhen the RLC-level retransmission timer expires. Additionally, for eachRLC-level transmission/retransmission attempt, an RLC-level transmissioncounter is incremented until the counter reaches a threshold number offailed attempts, at which point the second layer triggers a “Radio-LinkFailure” condition that indicates that the connection between thesubscription and the subscription's network has been lost.

During a Tx collision event between a first subscription and a secondsubscription, the first subscription may be unable to access a shared Txresource to send packet transmissions to the first subscription'snetwork, causing the first subscription to experience RLC- andHARQ-level transmissions/retransmissions failures regardless of theactual quality of the connection between the first subscription and thefirst subscription's network. For example, even though the firstsubscription may have a strong connection to the subscription's networkand may otherwise be able to successfully transmit data to thesubscription's network, the first subscription may experience atransmission or retransmission “failure” because the first subscriptionis denied access to a shared Tx resource and unable to transmit becauseof the Tx collision with the second subscription.

In various embodiments, one or more processors of the mobilecommunication device may identify situations in which the firstsubscription's transmissions/retransmissions fail because of such Txcollisions with the second subscription. In response to determining thatthe first subscription's transmission/retransmission failures are aresult of a Tx collision with the second subscription, the one or moreprocessors may initiate an RLC-level retransmission rather than waitingfor the RLC-level retransmission timer to expire. As a result, theRLC-level retransmission may begin before the RLC-level retransmissiontimer expires, enabling the RLC-level retransmission to occur soonerthan in conventional implementations. Further, in some embodiments, theone or more processors may not increment the RLC-level transmissioncounter when a Tx collision with the second subscription causes thefirst subscription's transmissions/retransmissions to fail as thesefailures may not reflect the actual quality of the connection betweenthe first subscription and the first subscription's network.

FIG. 10 is a signaling and call flow diagram 1000 illustratingcommunications exchanged between various communication-protocol-stackcomponents of a first subscription (e.g., 502) of amulti-SIM-multi-active communication device to immediately initiate anRLC-level retransmission operation in response to determining that oneor more HARQ-level retransmissions have failed because of a Tx collisionwith a second subscription (e.g., 504). With reference to FIGS. 1-10, amobile communication device (e.g., the mobile communication device 200)may include the second layer 804, the first layer 806, and the firmwarelayer 808 of the first subscription's communication protocol stack, asdescribed (see, e.g., FIGS. 8A-8B).

In an example illustrated in the signaling and call flow diagram 1000,the firmware layer 808 may receive an uplink grant for the firstsubscription from the first subscription's network (not shown) and maysend the uplink grant to the first layer 806 via a signal 1002, asdescribed (see, e.g., FIGS. 8A-8B). The first layer 806 may send abuild-packet indication to the second layer 804 via a signal 1004, andin response, the second layer 804 may build a packet in operation 1006.The first layer 806 may also send a packet-transmission-schedulingrequest to the firmware layer 808 via a signal 1008.

As shown, the firmware layer 808 may drop the packet in operation 1010due to a collision with a transmission of the second subscription. Asdescribed, a HARQ-level retransmission attempt may be comparativelyfaster than an RLC-level retransmission attempt, and thus, the firmwarelayer 808 may initiate a several HARQ-level retransmission attemptsbefore initiating an RLC-level retransmission attempt. For example, thefirst layer 806 may send another HARQ-level retransmission request tothe firmware layer 808 via a signal 1012, and the firmware layer 808 mayagain drop the packet in operation 1014 because of another Tx collisionwith the second subscription's transmissions.

In some embodiments, the first layer 806 may continue to send HARQ-levelretransmission scheduling requests to the firmware layer 808 until athreshold number of HARQ-level retransmission attempts have failed. Forexample, the first layer 806 may send up to an nth HARQ-levelretransmission scheduling request (sent via a signal 1016), and thefirmware layer 808 may again drop the packet in operation 1018. Inresponse to determining that a threshold number of HARQ-levelretransmission attempts have failed (e.g., in response to the nthHARQ-level failure), the first layer 806 may immediately notify thesecond layer 804 that the threshold number of HARQ-level failures hasbeen reached via a signal 1020.

In operation 1022, the second layer 804 may immediately initiate anRLC-level retransmission of the packet built in the operation 1006.Specifically, in some embodiments, the second layer 804 may ignore theRLC-level retransmission timer in order to immediately initiate theRLC-level retransmission.

In operation 1024, the second layer 804 may not count the RLC-levelretransmission towards a threshold number of allowed RLC-levelretransmission attempts. In other words, rather than incrementing theRLC-level retransmission counter as performed in conventional mobilecommunication devices, the second layer 804 may ignore RLC-levelretransmission attempts that are a result of a Tx collision with thesecond subscription's transmissions as Tx-collision-related failures maynot indicate the actual quality of the connection between the firstsubscription and the first subscription's network.

FIG. 11 illustrates a method 1100 for immediately initiating anRLC-level retransmission for a first subscription (e.g., 502) inresponse to determining that a threshold number of HARQ-levelretransmission attempts of the first subscription have failed because ofa Tx collision with a transmission of a second subscription (e.g., 504),according to some embodiments.

With reference to FIGS. 1-11, the method 1100 may be implemented with aprocessor (e.g., the general-purpose processor 206, the baseband modemprocessor 216, the Tx collision management unit 230, thecommunication-protocol-stack layers 804-808, the processor(s) 802, aseparate controller, and/or the like) of a mobile communication device(e.g., the mobile communication device 200). The operations of themethod 1100 implement some embodiments of the operations of the method400 as described. Thus, the device processor may begin performing theoperations of the method 1100 in response to determining that a packettransmission (i.e., an upcoming transmission) is about to occur indetermination block 406 of the method 400 (i.e., determination block406=“Yes”).

In block 1102, the device processor may build a packet for the firstsubscription. The device processor may attempt to send the packet, inblock 1104.

In determination block 1106, the device processor may determine whetherthe packet was dropped. For example, the device processor may requestacknowledgement of receipt from the destination and receive a negativeacknowledgement (NACK) message indicating that the destination did notreceive the packet. In some embodiments, the destination may send theNACK message without a request from the device processor. In response todetermining that the packet was not dropped (i.e., determination block1106=“No”), the device processor may send the packet as part of a packettransmission as usual, in block 1108. The device processor may continueperforming operations in block 404 of the method 400 by monitoring thefirst subscription's transmission schedule for another upcomingtransmission.

In response to determining that the packet was dropped (i.e.,determination block 1106=“Yes”), the device processor may determinewhether a threshold number of HARQ-level packet retransmissions has beenattempted, in determination block 1110. As described, the deviceprocessor may initially rely on HARQ-level packet retransmissions in aneffort to quickly resend the packet. In response to determining that athreshold number of HARQ-level packet retransmissions has not beenattempted (i.e., determination block 1110=“No”), the device processormay repeat the operations of the method 1100 by again attempting to sendthe packet via a HARQ-level retransmission, in block 1104.

In response to determining that a threshold number of HARQ-level packetretransmissions has been attempted (i.e., determination block1110=“Yes”), the device processor may determine whether the one or moreHARQ-level packet retransmissions collided with a transmission of thesecond subscription, in determination block 1112. In other words, thedevice processor may determine whether the packettransmissions/retransmissions failures resulted from the firstsubscription's inability to access the shared Tx resource (i.e., a Txcollision with the second subscription) rather than another transmissionproblem that may be related to the condition/quality of the firstsubscription's connection with the first subscription's network. Forexample, the device processor may compare the times of the one or moreHARQ-level packet retransmission attempts with times during which thesecond subscription was actively using the Tx resource.

In response to determining that the one or more HARQ-level packetretransmissions did not collide with the transmission of the secondsubscription (i.e., determination block 1112=“No”), the device processormay increment the RLC-level retransmission counter, in block 1116. Thedevice processor may determine whether the RLC-level retransmissiontimer has expired in determination block 1118. In response todetermining that the RLC-level retransmission timer has not expired(i.e., determination block 1118=“No”), the device processor may continueto wait until the RLC-level retransmission timer has expired. Inresponse to determining that the RLC-level retransmission timer hasexpired (i.e., determination block 1118=“Yes”), the device processor mayinitiate an RLC-level retransmission of the dropped packet in responseto the expiration of the RLC-level retransmission timer in block 1122.

In response to determining that the one or more HARQ-level packetretransmissions collided with the transmission of the secondsubscription (i.e., determination block 1112=“Yes”), the deviceprocessor may prevent the RLC-level retransmission counter fromincrementing, in block 1114. In some embodiments, by not incrementingthe RLC-level retransmission counter in situations in which Txcollisions with the second subscription prevent the first subscriptionfrom sending packet transmissions, the device processor may prevent afalse determination that the first subscription is unable to communicatewith the first subscription's network due to other communicationproblems and thus may avoid an incorrect determination that the firstsubscription is experiencing a “Radio Link Failure.” In block 1120, thedevice processor may initiate an RLC-level packet retransmission of thedropped packet without waiting for the RLC-level retransmission timer toexpire.

After initiating the RLC level retransmission of the dropped packet inblock 1120 or in block 1122, the device processor may repeat theoperations of the method 1100 by again attempting to send the droppedpacket, in block 1104.

Typically, in order to receive uplink grants from a subscription'snetwork, a conventional mobile communication device sends a buffer sizereport (“BSR”) to the subscription's network that indicates the amountof data the first subscription has waiting in the mobile communicationdevice's buffer that is ready for transmission to the subscription'snetwork. In response to receiving a BSR, the subscriptions networkreturns an uplink grant that is typically proportional to the amount ofdata reported in the BSR.

Various embodiments attempt to increase the likelihood that a firstsubscription's network sends at least one uplink grant associated withthe packet transmission that avoids a Tx collision with the secondsubscription by sending an artificially increased BSR to the firstsubscription's network in an attempt to receive multiple uplink grants.As a result of receiving multiple uplink grants, the first subscriptionmay have a higher likelihood of identifying at least one of the multipleuplink grants associated with the packet transmission that will notcollide with the transmission of the second subscription, as described(see, e.g., FIGS. 7-9B).

FIG. 12 is a signaling and call flow diagram 1200 illustratingcommunications exchanged between a multi-SIM-multi-active communicationdevice and a network of a first subscription according to someembodiments. With reference to FIGS. 1-12, a multi-SIM-multi-activecommunication device (e.g., the mobile communication device 200) mayreceive from a network 1201 (e.g., the mobile network 102) anartificially high number of uplink grants from the first subscription'snetwork 1201 to increase the likelihood that the first subscription willhave access to at least one uplink resource grant associated with apacket transmission that will not collide with a transmission of thesecond subscription.

The mobile communication device 200 may generate an artificiallyincreased BSR in operation 1202. In some embodiments of the operation1202, the mobile communication device 200 may determine an actual amountof data waiting to be transmitted to the first subscription's network1201 that is stored in a buffer and may generate the artificiallyincreased BSR based on a multiple of (or some other factor of) theactual amount of data stored in the buffer. In some embodiments, themobile communication device 200 may generate the artificially increasedBSR in an attempt to prompt the first subscription's network 1201 tosend a particular number of uplink grants. For example, the mobilecommunication device 200 may expect to receive one uplink grant from thefirst subscription's network 1201 in response to reporting that x amountof data is currently stored in the buffer, and the mobile communicationdevice may prepare a BSR that reports that 2x of data is currentlystored in the buffer in an attempt to receive two uplink grants.

The mobile communication device 200 may send the artificially increasedBSR (e.g., BSR=2x) to the first subscription's network 1201 via a signal1203. In response, the first subscription's network 1201 may send themobile communication device 200 a first uplink grant (i.e., “uplinkgrant₁”) via a signal 1204 and a second uplink grant (i.e., “uplinkgrant₂”) via a signal 1206. In an example in which the mobilecommunication device 200 reports a BSR of 2 x, each of the first uplinkgrant and the second uplink grant may be grants of a size x.

After receiving the first and second grants from the firstsubscription's network 1201, the mobile communication device 200 mayidentify any packet transmissions associated with received grants (e.g.,the first and second grants) that will not collide with the secondsubscription's transmissions (i.e., that will avoid a Tx collision withthe second subscription) in operation 1208. For example, the deviceprocessor may determine that the packet transmission related to thesecond uplink grant may be scheduled a time that does not coincide(collide) with a transmission of the second subscription.

In operation 1210, the mobile communication device 200 may skip (i.e.,not attempt to send) packet transmissions associated with receivedgrants that will collide with the second subscription's transmissions.For example, the mobile communication device 200 may skip a packettransmission associated with the first uplink grant (i.e., “packet Tx₁”)due to an expected collision with the second subscription'stransmissions.

The mobile communication device 200 may attempt to send a packettransmission to the first subscription's network 1201 that will notcollide with the second subscription's transmissions via a signal 1212.For example, the mobile communication device 200 may attempt to send apacket transmission associated with the second uplink grant (i.e.,“packet Tx₂”) in response to determining that that packet transmissionwill not collide with a transmission of the second subscription.

FIG. 13 illustrates a method 1300 for sending an artificially increasedBSR to the first subscription's network to increase the likelihood ofreceiving an uplink grant associated with a packet transmission thatwill not collide with the second subscription's transmissions, accordingto some embodiments. With reference to FIGS. 1-13, the method 1300 maybe implemented with a processor (e.g., the general-purpose processor206, the baseband modem processor 216, the Tx collision management unit230, a separate controller, and/or the like) of a mobile communicationdevice (e.g., the mobile communication devices 200). The operations ofthe method 1300 implement some embodiments of the operations of themethod 400. Thus, the device processor may begin performing theoperations of the method 1300 while the first subscription and thesecond subscription are operating in a connected mode (i.e., block 402of the method 400).

In block 1301, the device processor may generate an artificiallyincreased BSR. In some embodiments of the operations performed in block1301, the device processor may determine the actual amount of data forthe first subscription that is stored in a buffer of the mobilecommunication device (e.g. a buffer in the memory 214 or part of thebaseband modem processor 216) and awaiting transmission to the firstsubscription's network. Based on the actual amount of data stored inbuffer for the first subscription, the device processor may generate anartificially increased BSR to reflect an amount of data in excess of theactual amount of data stored in the buffer (e.g., two times the actualamount of data). As described (see, e.g., FIG. 12), by artificiallyincreasing the amount of data reported to the first subscription'snetwork, the device processor may cause the first subscription's networkto send additional uplink grants for use in sending packet transmissionsto the first subscription's network. By receiving additional uplinkgrants, the device processor may have a higher likelihood of identifyingat least one uplink grant that is associated with a packet transmissionthat will not collide with a transmission of the second subscription(i.e., that will avoid a Tx collision with the second subscription).

In block 1302, the device processor may report the artificiallyincreased BSR to the network of the first subscription. In response, thedevice processor may receive a plurality of uplink grants based on theartificially increased BSR from the network of the first subscription,in block 1304.

In block 1306, the device processor may determine times at which aplurality of packet transmissions are scheduled to occur based on thereceived plurality of uplink grants from the first subscription'snetwork, in block 1304. In some embodiments, the device processor maydetermine times in which the plurality of packet transmissions arescheduled to occur based on scheduling information received from thefirst subscription's network and/or from information included in theplurality of uplink grants.

In block 1308, the device processor may determine the secondsubscription's transmission schedule during the times determined inblock 1306. In other words, the device processor may determine whetherthe second subscription will transmit during one or more of theplurality of packet transmissions associated with the plurality ofreceived uplink grants. In determination block 1310, the deviceprocessor may determine whether there is a packet transmission in theplurality of packet transmissions that will not collide with the secondsubscription's transmissions. In some embodiments, the determination indetermination block 1310 may be based on the second subscription'stransmission schedule as determined in block 1308 and based on the timesat which the plurality of packet transmission are scheduled to occur asdetermined in block 1306.

In response to determining that each packet transmission in theplurality of packet transmissions will collide with the secondsubscription's transmissions (i.e., determination block 1310=“No”), thedevice processor may attempt to transmit a packet to the network of thefirst subscription through any of the plurality of packet transmissions,in block 1314. In other words, because each of the packet transmissionsassociated with the plurality of uplink grants received from the firstsubscription's network will collide with the second subscription'stransmissions, the device processor may attempt to transmit the packetas part of one or more of the plurality of packet transmissions as thosepacket transmissions are expected to fail in light of the collisionswith the second subscription's transmissions. In some embodiments, thedevice processor may not attempt to send any packet transmissions andmay wait to receive additional uplink grants (see, e.g., FIGS. 7-9B).

In response to determining that there is a packet transmission in theplurality of packet transmissions that will not collide with the secondsubscription's transmissions (i.e., determination block 1310=“Yes”), thedevice processor may send a packet to the network of the firstsubscription as part of the packet transmission that will not collidethe second subscription's transmissions, in block 1312. Thus, byutilizing the non-colliding packet transmission, the device processormay have a high likelihood of successfully sending the packet.

After sending the packet to the network of the first subscription inblock 1312 or attempting to transmit the packet to the network of thefirst subscription in block 1314, the device processor may repeat theoperations of the method 1300 by again generating an artificiallyincreased BSR, in block 1301.

As described, transmissions of the second subscription have a higherpriority than the first subscription's transmissions. As a result, thesecond subscription may receive access to the shared Tx resource whenboth subscriptions are scheduled to use the shared Tx resourcesimultaneously, thereby negatively impacting the transmissionperformance of the first subscription.

However, in some embodiments, the priority for the first subscription'spacket transmissions may be adjusted based on the first subscription'scurrent radio conditions. Specifically, the device processor mayincrease the priority of the first subscription's messages in the eventthat the first subscription is suffering poor radio conditions in orderto enable the first subscription to communicate with the firstsubscription's network, for example, to initiate a handover to aneighboring cell that offers a higher quality of service or better radioconditions. Similarly, the device processor may decrease the priority ofthe first subscription's messages in the event that the firstsubscription's radio conditions are satisfactory as enabling the firstsubscription to communicate with the subscription's network may be lessimportant or necessary (i.e., the first subscription may not be at riskof losing a connection to the subscription's network).

FIG. 14 illustrates a method 1400 for prioritizing messages of a firstsubscription to be sent as part of a packet transmission based on theradio conditions of the first subscription, according to someembodiments. With reference to FIGS. 1-14, the method 1400 may beimplemented with a processor (e.g., the general-purpose processor 206,the baseband modem processor 216, the Tx collision management unit 230,a separate controller, and/or the like) of a mobile communication device(e.g., the mobile communication device 200). The operations of themethod 1400 implement some embodiments of the operations of the method400. Thus, the device processor may begin performing the operations ofthe method 1400 in response to determining that a packet transmission(i.e., an upcoming transmission) will collide with the secondsubscription's transmissions in determination block 410 of the method400 (i.e., determination block 410=“Yes”).

In block 1402, the device processor may determine current radioconditions for the first subscription. In some embodiments, the deviceprocessor may take one or more measurements for the first subscription(e.g., measurements of received signal power, antenna power, etc.) thatmay indicate the quality and condition of the first subscription's radioconnection to the subscription's network.

In block 1404, the device processor may identify messages to betransmitted as part of the packet transmission for the firstsubscription, such as messages related to the first subscription'scurrent radio conditions and/or other information that the firstsubscription intends to communicate to the subscription's network.

In determination block 1406, the device processor may determine whetherthe current radio conditions determined in block 1402 satisfy a minimumquality threshold. In some embodiments, the minimum quality thresholdmay indicate a satisfactory or acceptable measurement of the firstsubscription's radio conditions. For example, radio conditions at orabove the minimum quality threshold may indicate that the firstsubscription is not in immediate danger of losing service, whereas radioconditions below the point threshold may indicate that the firstsubscription is about to experience a radio link failure unless thefirst subscription communicates immediately to the subscription'snetwork to initiate a handover to better serving cell.

In response to determining that the current radio conditions of thefirst subscription satisfy the minimum quality threshold (i.e.,determination block 1406=“Yes”), the device processor may classify themessages identified in block 1404 as low-priority messages, in block1410. In other words, because the first subscription's current radioconditions satisfy the minimum quality threshold and thus indicate thatthe first subscription is not at risk of losing a connection to thesubscription's network (e.g., dropping a call), the device processor mayclassify the first subscription's messages as low priority. As such, thedevice processor may attempt to send the identified messages as part ofa low-priority packet transmission, in block 1414. In some embodiments,because the packet transmission will collide with the secondsubscription's transmissions and because the packet transmission is lowpriority, the second subscription's transmissions will prevail over thefirst subscription's low-priority packet transmission (i.e., the secondsubscription will receive access to a shared Tx resource to theexclusion of the first subscription), and thus, the identified messagesand the low-priority packet transmission will likely be dropped as aresult of the Tx collision with the second subscription.

In response to determining that the current radio conditions of thefirst subscription do not satisfy the minimum quality threshold (i.e.,determination block 1406=“No”), the device processor may classify themessages identified in block 1404 as high-priority messages, in block1408, and may send the identified messages as part of a high-prioritypacket transmission, in block 1412. In some embodiments, because thefirst subscription needs to send high-priority messages, the firstsubscription's high-priority packet transmission may take priority overthe second subscription's transmissions. Specifically, because thehigh-priority packet transmission is scheduled to collide with thesecond subscription's transmissions, the device processor may enable thefirst subscription to receive access to the shared Tx resource to theexclusion of the second subscription to enable the first subscription tosend the high-priority packet transmission. As a result of enabling thefirst subscription to prevail over the second subscription during the Txcollision event, the device processor may increase the likelihood thatthe first subscription will be able to communicate with the firstsubscription's network and may be able to improve radio conditions withthe network, such as by negotiating a handover to a better serving cell.

After sending the high-priority packet transmission in block 1412 orsending a low-priority packet transmission in block 1414, the deviceprocessor may continue performing operations in block 404 of the method400 by again monitoring the first subscription's transmission schedulefor an upcoming transmission.

Various embodiments may be implemented in any of a variety of mobilecommunication devices, an example on which (e.g., mobile communicationdevice 1500) is illustrated in FIG. 15. With reference to FIGS. 1-15,the mobile communication device 1500 may be similar to the mobilecommunication devices 110, 120, 200 as described. As such, the mobilecommunication device 1500 may implement any of the methods 400, 600,900, 950, 1100, 1300, 1400.

The mobile communication device 1500 may include a processor 1502coupled to a touchscreen controller 1504 and an internal memory 1506.The processor 1502 may be one or more multi-core integrated circuitsdesignated for general or specific processing tasks. The internal memory1506 may be volatile or non-volatile memory, and may also be secureand/or encrypted memory, or unsecure and/or unencrypted memory, or anycombination thereof. The touchscreen controller 1504 and the processor1502 may also be coupled to a touchscreen panel 1512, such as aresistive-sensing touchscreen, capacitive-sensing touchscreen, infraredsensing touchscreen, etc. Additionally, the display of the mobilecommunication device 1500 need not have touch screen capability.

The mobile communication device 1500 may have one or more cellularnetwork transceivers 1508, 1516 coupled to the processor 1502 and to twoor more antennae 1510, 1511 and configured for sending and receivingcellular communications. The transceivers 1508, 1516 and the antennae1510, 1511 may be used with the above-mentioned circuitry to implementthe various embodiment methods. The mobile communication device 1500 mayinclude two or more SIM cards (e.g., SIMs 1513 a, 1513 b) coupled to thetransceivers 1508, 1516 and/or the processor 1502 and configured asdescribed. The mobile communication device 1500 may include a cellularnetwork wireless modem chip 1517 that enables communication via acellular network and is coupled to the processor 1502.

The mobile communication device 1500 may also include speakers 1514 forproviding audio outputs. The mobile communication device 1500 may alsoinclude a housing 1520, constructed of a plastic, metal, or acombination of materials, for containing all or some of the componentsdiscussed herein. The mobile communication device 1500 may include apower source 1522 coupled to the processor 1502, such as a disposable orrechargeable battery. The rechargeable battery may also be coupled tothe peripheral device connection port to receive a charging current froma source external to the mobile communication device 1500. The mobilecommunication device 1500 may also include a physical button 1524 forreceiving user inputs. The mobile communication device 1500 may alsoinclude a power button 1526 for turning the mobile communication device1500 on and off.

The foregoing method descriptions and the process flow diagrams areprovided merely as illustrative examples and are not intended to requireor imply that the operations of various embodiments must be performed inthe order presented. As will be appreciated by one of skill in the artthe order of operations in the foregoing embodiments may be performed inany order. Words such as “thereafter,” “then,” “next,” etc. are notintended to limit the order of the operations; these words are simplyused to guide the reader through the description of the methods.Further, any reference to claim elements in the singular, for example,using the articles “a,” “an” or “the” is not to be construed as limitingthe element to the singular.

The various illustrative logical blocks, modules, circuits, andalgorithm operations described in connection with the embodimentsdisclosed herein may be implemented as electronic hardware, computersoftware, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and operations have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the claims.

The hardware used to implement the various illustrative logics, logicalblocks, modules, and circuits described in connection with the aspectsdisclosed herein may be implemented or performed with a general purposeprocessor, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA) orother programmable logic device, discrete gate or transistor logic,discrete hardware components, or any combination thereof designed toperform the functions described herein. A general-purpose processor maybe a microprocessor, but, in the alternative, the processor may be anyconventional processor, controller, microcontroller, or state machine Aprocessor may also be implemented as a combination of computing devices,e.g., a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration. Alternatively, some operations ormethods may be performed by circuitry that is specific to a givenfunction.

In one or more exemplary aspects, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored as one or moreinstructions or code on a non-transitory computer-readable storagemedium or non-transitory processor-readable storage medium. Theoperations of a method or algorithm disclosed herein may be embodied ina processor-executable software module that may reside on anon-transitory computer-readable or processor-readable storage medium.Non-transitory computer-readable or processor-readable storage media maybe any storage media that may be accessed by a computer or a processor.By way of example but not limitation, such non-transitorycomputer-readable or processor-readable storage media may include RAM,ROM, EEPROM, FLASH memory, compact disc read only memory (CD-ROM) orother optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium that may be used to store desiredprogram code in the form of instructions or data structures and that maybe accessed by a computer. Disk and disc, as used herein, includescompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk, and Blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofnon-transitory computer-readable and processor-readable media.Additionally, the operations of a method or algorithm may reside as oneor any combination or set of codes and/or instructions on anon-transitory processor-readable storage medium and/orcomputer-readable storage medium, which may be incorporated into acomputer program product.

The preceding description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the present claims.Various modifications to these embodiments will be readily apparent tothose skilled in the art, and the generic principles defined herein maybe applied to some embodiments without departing from the spirit orscope of the claims. Thus, the present disclosure is not intended to belimited to the embodiments shown herein but is to be accorded the widestscope consistent with the following claims and the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method implemented by a mobile communicationdevice for managing potential transmitter collisions of a firstsubscription, comprising: generating an artificially increasedbuffer-size report (BSR); reporting the artificially increased BSR to anetwork of the first subscription; receiving from the network of thefirst subscription a plurality of uplink grants based on theartificially increased BSR; determining whether an upcoming transmissionof the first subscription will collide with a transmission of a secondsubscription; and implementing a transmit (Tx) collision managementstrategy for the first subscription in response to determining that theupcoming transmission of the first subscription will collide with thetransmission of the second subscription.
 2. The method of claim 1,wherein the first subscription and the second subscription aresubscriptions to different radio access technologies.
 3. The method ofclaim 1, wherein determining whether the upcoming transmission of thefirst subscription will collide with the transmission of the secondsubscription comprises: determining times at which a plurality of packettransmissions are scheduled to occur based on the received plurality ofuplink grants; determining a transmission schedule of the secondsubscription during the determined times; and determining whether thereis a packet transmission in the plurality of packet transmissions thatwill not collide with transmissions of the second subscription based onthe determined transmission schedule of the second subscription.
 4. Themethod of claim 3, wherein implementing the Tx collision managementstrategy for the first subscription in response to determining that theupcoming transmission of the first subscription will collide with thetransmissions of the second subscription comprises: sending a packet tothe network of the first subscription as part of the packet transmissionthat will not collide with the transmissions of the second subscriptionin response to determining that there is a packet transmission that willnot collide with the transmissions of the second subscription.
 5. Themethod of claim 4, wherein implementing the Tx collision managementstrategy for the first subscription in response to determining that theupcoming transmission of the first subscription will collide with thetransmissions of the second subscription further comprises: in responseto determining that there are no packet transmissions that will notcollide with the transmissions of the second subscription, sending apacket to the network of the first subscription as part of any of theplurality of packet transmissions.
 6. The method of claim 1, whereingenerating the artificially increased BSR comprises: determining anamount of data to be transmitted by the first subscription; andgenerating the artificially increased BSR as a multiple of the amount ofdata to be transmitted by the first subscription.
 7. The method of claim6, wherein receiving from the network of the first subscription theplurality of uplink grants based on the artificially increased BSRcomprises: receiving an uplink grant for each multiple of the amount ofdata to be transmitted by the first subscription.
 8. The method of claim1, wherein the first subscription has a lower priority than the secondsubscription.
 9. The method of claim 8, wherein the first subscriptionis engaged in a data call and the second subscription is engaged in avoice call.
 10. A mobile communication device, comprising: a memory; aradio frequency (RF) resource; and a processor coupled to the memory andthe RF resource, configured to be coupled to a plurality of SubscriberIdentity Modules (SIMs), and configured with processor-executableinstructions to: generate an artificially increased buffer-size report(BSR); report the artificially increased BSR to a network of a firstsubscription; receive from the network of the first subscription aplurality of uplink grants based on the artificially increased BSR;determine whether an upcoming transmission of the first subscriptionwill collide with a transmission of a second subscription; and implementa transmit (Tx) collision management strategy for the first subscriptionin response to determining that the upcoming transmission of the firstsubscription will collide with the transmission of the secondsubscription.
 11. The mobile communication device of claim 10, whereinthe first subscription and the second subscription are subscriptions todifferent radio access technologies.
 12. The mobile communication deviceof claim 10, wherein the processor is further configured withprocessor-executable instructions to determine whether the upcomingtransmission of the first subscription will collide with thetransmission of the second subscription by: determining times at which aplurality of packet transmissions are scheduled to occur based on thereceived plurality of uplink grants; determining a transmission scheduleof the second subscription during the determined times; and determiningwhether there is a packet transmission in the plurality of packettransmissions that will not collide with transmissions of the secondsubscription based on the determined transmission schedule of the secondsubscription.
 13. The mobile communication device of claim 12, whereinthe processor is further configured with processor-executableinstructions to implement the Tx collision management strategy for thefirst subscription in response to determining that the upcomingtransmission of the first subscription will collide with thetransmissions of the second subscription by: sending a packet to thenetwork of the first subscription as part of the packet transmissionthat will not collide with the transmissions of the second subscriptionin response to determining that there is a packet transmission that willnot collide with the transmissions of the second subscription.
 14. Themobile communication device of claim 13, wherein the processor isfurther configured with processor-executable instructions to implementthe Tx collision management strategy for the first subscription inresponse to determining that the upcoming transmission of the firstsubscription will collide with the transmissions of the secondsubscription by: sending a packet to the network of the firstsubscription as part of any of the plurality of packet transmissions inresponse to determining that there are no packet transmissions that willnot collide with the transmissions of the second subscription.
 15. Themobile communication device of claim 10, wherein the processor isfurther configured with processor-executable instructions to generatethe artificially increased BSR by: determining an amount of data to betransmitted by the first subscription; and generating the artificiallyincreased BSR as a multiple of the amount of data to be transmitted bythe first subscription.
 16. The mobile communication device of claim 15,wherein the processor is further configured with processor-executableinstructions to receive from the network of the first subscription theplurality of uplink grants based on the artificially increased BSR byreceiving an uplink grant for each multiple of the amount of data to betransmitted by the first subscription.
 17. The mobile communicationdevice of claim 10, wherein the first subscription has a lower prioritythan the second subscription.
 18. The mobile communication device ofclaim 17, wherein the first subscription is engaged in a data call andthe second subscription is engaged in a voice call.
 19. A non-transitoryprocessor-readable storage medium having stored thereonprocessor-executable instructions configured to cause a processor of amobile communication device to perform operations comprising: generatingan artificially increased buffer-size report (BSR); reporting theartificially increased BSR to a network of a first subscription;receiving from the network of the first subscription a plurality ofuplink grants based on the artificially increased BSR; determiningwhether an upcoming transmission of the first subscription will collidewith a transmission of a second subscription; and implementing atransmit (Tx) collision management strategy for the first subscriptionin response to determining that the upcoming transmission of the firstsubscription will collide with the transmission of the secondsubscription.
 20. The non-transitory processor-readable storage mediumof claim 19, wherein the first subscription and the second subscriptionare subscriptions to different radio access technologies.
 21. Thenon-transitory processor-readable storage medium of claim 19, whereinthe stored processor-executable instructions are configured to cause theprocessor of the mobile communication device to perform operations suchthat determining whether the upcoming transmission of the firstsubscription will collide with the transmission of the secondsubscription comprises: determining times at which a plurality of packettransmissions are scheduled to occur based on the received plurality ofuplink grants; determining a transmission schedule of the secondsubscription during the determined times; and determining whether thereis a packet transmission in the plurality of packet transmissions thatwill not collide with transmissions of the second subscription based onthe determined transmission schedule of the second subscription.
 22. Thenon-transitory processor-readable storage medium of claim 21, whereinthe stored processor-executable instructions are configured to cause theprocessor of the mobile communication device to perform operations suchthat implementing the Tx collision management strategy for the firstsubscription in response to determining that the upcoming transmissionof the first subscription will collide with the transmissions of thesecond subscription comprises: sending a packet to the network of thefirst subscription as part of a packet transmission that will notcollide with the transmissions of the second subscription in response todetermining that there is a packet transmission that will not collidewith the transmissions of the second subscription.
 23. Thenon-transitory processor-readable storage medium of claim 22, whereinthe stored processor-executable instructions are configured to cause theprocessor of the mobile communication device to perform operations suchthat implementing the Tx collision management strategy for the firstsubscription in response to determining that the upcoming transmissionof the first subscription will collide with the transmissions of thesecond subscription comprises: sending a packet to the network of thefirst subscription as part of any of the plurality of packettransmissions in response to determining that there are no packettransmissions that will not collide with the transmissions of the secondsubscription.
 24. The non-transitory processor-readable storage mediumof claim 19, wherein the stored processor-executable instructions areconfigured to cause the processor of the mobile communication device toperform operations such that generating the artificially increased BSRcomprises: determining an amount of data to be transmitted by the firstsubscription; and generating the artificially increased BSR as amultiple of the amount of data to be transmitted by the firstsubscription.
 25. The non-transitory processor-readable storage mediumof claim 24, wherein the stored processor-executable instructions areconfigured to cause the processor of the mobile communication device toperform operations such that receiving from the network of the firstsubscription the plurality of uplink grants based on the artificiallyincreased BSR comprises: receiving an uplink grant for each multiple ofthe amount of data to be transmitted by the first subscription.
 26. Amethod implemented by a mobile communication device for mitigatingperformance degradation of a first subscription caused by loss of ashared transmit (Tx) resource to a second subscription, comprising:generating an artificially increased buffer-size report (BSR); reportingthe artificially increased BSR to a network of the first subscription;receiving from the network of the first subscription a plurality ofuplink grants based on the artificially increased BSR; determining timesat which a plurality of packet transmissions are scheduled to occurbased on the received plurality of uplink grants; determining atransmission schedule of the second subscription during the determinedtimes; determining whether there is a packet transmission in theplurality of packet transmissions that will not collide withtransmissions of the second subscription based on the determinedtransmission schedule of the second subscription; and in response todetermining that there is a packet transmission that will not collidewith the transmissions of the second subscription, sending a packet tothe network of the first subscription as part of the packet transmissionthat will not collide with the transmissions of the second subscription.27. The method of claim 26, further comprising: sending a packet to thenetwork of the first subscription as part of any of the plurality ofpacket transmissions in response to determining that there are no packettransmissions that will not collide with the transmissions of the secondsubscription.
 28. The method of claim 26, wherein generating theartificially increased BSR comprises: determining an amount of data tobe transmitted by the first subscription; and generating theartificially increased BSR as a multiple of the amount of data to betransmitted by the first subscription.
 29. The method of claim 28,wherein receiving from the network of the first subscription theplurality of uplink grants based on the artificially increased BSRcomprises: receiving an uplink grant for each multiple of the amount ofdata to be transmitted by the first subscription.